Docker安装及简单操作 (8)

FROM RUN ADD 都会开一个分层

1.查看分层 # 查看所有镜像 [root@docker01 ~]# docker images # 删除<none>镜像 [root@docker01 ~]# docker image prune # 创建dockerfile目录 考个文件过去 [root@docker01 ~]# cd /opt/dockerfile/ [root@docker01 /opt/dockerfile]# mkdir test [root@docker01 /opt/dockerfile]# cd test/ [root@docker01 /opt/dockerfile/test]# cp /etc/services . [root@docker01 /opt/dockerfile/test]# ls services # 编辑dockerfile 把目录放进容器的/opt下 [root@docker01 /opt/dockerfile/test]# vim dockerfile FROM busybox:latest ADD services /opt # build镜像 [root@docker01 /opt/dockerfile/test]# docker image build -t test:v1 . # 保存镜像 [root@docker01 /opt/dockerfile/test]# docker save test:v1 -o docker_test.tar.gz [root@docker01 /opt/dockerfile/test]# ls dockerfile docker_test.tar.gz services # 镜像导出至windows [root@docker01 /opt/dockerfile/test]# sz docker_test.tar.gz

解压之后出现两个目录 说明分成两层

进目录继续解压 会出现完整系统目录

Docker安装及简单操作

# 传给另一台服务器 [root@docker01 /opt/dockerfile/test]# scp docker_test.tar.gz 10.0.0.6:/root # 上传镜像 发现是两层 [root@docker02 ~]# docker load -i docker_test.tar.gz 195be5f8be1d: Loading layer 1.437MB/1.437MB 254fbd52eeb8: Loading layer 672.3kB/672.3kB Loaded image: test:v1 2.镜像分层的好处

复用,节省磁盘空间,相同的内容只需加载一份到内存。
修改dockerfile之后,再次构建速度快

3.dockerfile优化

1:尽可能选择体积小linux,alpine

2:尽可能合并RUN指令,清理无用的文件(yum缓存,源码包)

3:修改dockerfile,把变化的内容尽可能放在dockerfile结尾

4: 使用.dockerignore,减少不必要的文件ADD . /html

vim .dockerignore 这里面写你要忽略的文件名 就是你在特定目录下传镜像 特定目录下有你不需要的东西 比如压缩包什么的? 这些创镜像的时候就可以不要 放在这个配置文件里就好

Docker安装及简单操作

4.优化前后对比

代码不同

Docker安装及简单操作

Docker安装及简单操作

大小不同

Docker安装及简单操作

分层不同

Docker安装及简单操作

Docker安装及简单操作

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggxjx.html