为什么要构建自定义的镜像?
- 官方镜像使用的都是默认配置,比如mysql容器使用的官网的mysql,需要自己修改mysql的配置文件、设置用户名和密码
- 部署服务,比如在tomcat容器中部署用户服务,把部署好的tomcat容器打包为一个镜像,部署用户服务集群时,直接拉取这个镜像即可,不需要一个一个部署用户服务
docker制作镜像的2种方式
- Docker Commit
- dockerfile 主流方式
Docker Commit方式制作镜像
修改好容器之后:
docker commit -a "chy xxxxxxx@qq.com" -m "做了哪些修改" id|name imageName:version
-a指定作者信息,-m指定镜像信息,一般是说明做了哪些修改、这个镜像的功能用途。如果值是不带空格的字符串,可以不引,带了空格就要引起来。
-a、-m均可选,如果配置了,使用docker inspect id|name 查看该镜像创建的容器的信息时会看到这2个参数的值
id|name指定要使用哪个容器制作镜像
imageName:version指定镜像的名称、版本号,版本号任意,可以是test、v1这种字符串,也可以是1、1.1这种数字