可以使用docker commit将一个状态改变的容器保存为镜像,也可以通过Dockerfile文件直接docker build镜像。构建基础的服务镜像时如nginx、php、mysql、redis、memcached等,貌似docker build比较方便也更容易修改,所以我选择docker build的方式进行服务镜像的制作。
1、docker build依赖Dockerfile配置文件,了解Dockerfile文件结构可以参考以下两篇文章:
https://docs.docker.com/reference/builder/
http://dockerpool.com/static/books/docker_practice/dockerfile/basic_structure.html
2、以下是依赖于本地的docker私有仓库和本地yum源编译web(php+nginx)服务镜像的Dockerfile文件,仅供参考:
1 | #Dockerfile文件的绝对路径,docker build时需要 |
3、使用docker build命令编译镜像
1 | $ docker build -t nginx-php:1.0 /opt/docker/Dockerfile/web_ssh |
根据相同的方法制作其它服务的标准镜像,如redis、memcached等。