制作docker镜像并保存为tar文件

环境准备:

装了docker的linux服务器(我用的最便宜的腾讯云,windows环境应该也可以,但是本人没尝试)

第一步:准备基础镜像

从头开始做一个镜像太麻烦了,所以我们一般先根据自己的需要下载一个基础的镜像,可以在docker hub(https://hub.docker.com/)里搜一个pull下来,总之找到一个就行。

我是从学院集群已经提供的镜像里选择了一个tar包。
ZJU地科集群镜像管理界面
如果是下载的tar包,需要放到linux服务器里,运行docker load命令加载为镜像。
docker load加载本地tar包

第二步:写Dockfile

一听要写什么file就容易心生烦躁,尤其最讨厌这个时候谁跟你说“这个很简单”,所以我觉得最好的办法还是直接看看Dockerfile什么样,有个直观的印象,然后在这个基础上按照自己需求改。
Dockfile
这么一看还确实不太复杂,我们逐行分析一下哈:
FROM 后面跟我们的基础镜像(我这里是general/base:latest,如果不确定你的镜像名,可以通过docker images看一下)
COPY 字面意思啊,就是复制,因为我这里需要安装多个python库,就一起放在requirements.txt里了,然后需要在pip install之前copy一下requirements.txt的内容。
RUN 后面跟你想在终端运行的命令(我这里是除了python库之外,还想安装这个libbz2-dev)。
RUN这个也是个RUN,同上,想在终端运行的命令(这不就把刚才copy的内容用pip install安装啦)。

不好意思,是不是忘了说Dockerfile应该放在哪里了?
就放在你需要制作环境的linux服务器里(我就是在我的腾讯云服务器里)。
在这里插入图片描述

第三步:制作新镜像

写好Dockfile之后,就可以制作新镜像啦!
在有Dockerfile的路径下运行命令:
sudo docker build . -t [镜像名](我这里演示的叫“general/test”,如下图)
在这里插入图片描述
正常运行没问题的话就会显示后面“Sending build contest to Docker daemon”
在这里插入图片描述
镜像创建成功会显示“Successfully built xxxxxxxx”(如下图)
在这里插入图片描述

第四步:保存新镜像为tar文件

运行命令:
sudo docker save -o [保存的tar文件名字.tar] [目标镜像名]
如下图:
在这里插入图片描述
这样就可以顺利保存啦(如下图)
在这里插入图片描述
但是你可能看到这个文件现在是红色的,所以如果需要传输到自己的电脑上的话,需要用chmod命令改一下权限,我一般比较懒,一律“chmod 777 xxx”。

至此,你的新镜像就做好了。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值