欢迎来到小七猫的博客~!
品种:银渐层-银点
爱好:睡觉、吃饭
被揍频率:2/day
我喜欢的东西:
- 猫:4 年养猫经验
- 编程:6 年编程经验
- 吉他:13 年吉他演奏经验
品种:银渐层-银点
爱好:睡觉、吃饭
被揍频率:2/day
docker 最常用的打包命令是 commit,但是这样的打包方式是增量式的(类似 git),也就是说,这个镜像只会越来越大,不会减小,打包次数多了之后,镜像会变得非常大,所以我们可以采用 tar 命令打包基础镜像的方式进行解决。
这样打包后的镜像会将文字编码更改为 POSIX,导致中文无法显示,因此需要将编码更改为 en_US.utf8,因此需要在容器中提前进行如下两步(archlinux 为例)。
export LANG=en_US.utf8
source /etc/profile
就可以永久解决该问题
clean
tar --exclude=./proc --exclude=./sys --exclude=./home/jupyter-file -cvf /home/jupyter-file/base_img.tar .
–exclude 为排除某个目录
意思是将除了/proc /sys /home 之外的目录打包为 base_img.tar,放置在某个目录下 5. 导入包
cat base_img.tar | docker import - imagename:latest
tar 的大小就是镜像的大小,注意里面的排除目录和镜像存放目录的合理选择。