本地创建node镜像并提前安装pnpm环境
背景
因为需要在项目中使用pnpm包管理工具,并且通过only-allow强制使用pnpm
引出 ci 也需要使用 pnpm
但是介于网络问题,安装一直错误,并且因为安全问题,也不能使服务器连接外网。
解决方案
在一台网络正常的机器上构建一个已经预装好pnpm的docker镜像,并上传到服务器,使用本地镜像来解决问题
环境要求
docker
网络正常
步骤
构建自定义镜像
本地新建目录来进行如下操作
1 | # 基于基础的node镜像 |
开始构建
1 | docker build -t name:tag . |
验证
1 | $ docker run -itd --name test node16:pnpm |
开始创建镜像文件
1 | $ docker save -o exampleName.tar name:tag |
传输至服务器
1 | $ scp exampleName.tar root@hostname:/data |
服务器导入镜像
1 | $ docker load < exampleName.tar |
查看
1 | $ docker images |
可能需要重命名
$ $docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
删除
$ $docker rmi IMAGEID 或者 docker rmi REPOSITORY:TAG