1.1. Docker镜像生产实践
现在我们学会了如何使用Dockerfile来构建镜像,没错,真正生产环境我们也是大规模的使用Dockerfile。那么我们应该如何入手呢?
首先我们需要参考一些别人编写的Dockerfile,学习一些规范和技巧,可以来这里找找答案:https://github.com/dockerfile。
可以参考网友编写的Dockerfile的技巧和方法,那么真正的生产环境,肯定要根据自己公司或者团队的技术栈来构建不同的Docker镜像。
1.1.1. Docker镜像分层构建
根据Docker镜像的分层观念,我们可以在这个基础上对我们的镜像进行分层。
系统层
运行环境层
应用服务层
案例如下:
[root@linux-node1 ~]# mkdir /opt/dockerfile
[root@linux-node1 ~]# cd /opt/dockerfile/
[root@linux-node1 dockerfile]# mkdir system runtime app
[root@linux-node1 dockerfile]# tree
.
├── app
├── runtime
└── system
1.1.2. Docker镜像预热
在分层构建的基础上,在执行docker pull获取一个镜像的时候,只会下载不存在的Dokcer Image Layer,可以节约下载的时间。在实际生产工作中,一般会将通用的镜像构建完毕后,使用自动化运维工具,或者编写Shell脚本,在所有Docker节点上提前执行docker pull命令,提前把镜像下载到本地,实现镜像预热。