通常我们在官方下载的镜像不能够切合的在我们生产环境中使用,比如缺包,和我们环境中所需要的环境软件版本不一致等,所以我们要自己制作镜像

制作镜像又两种方法:

  1. 启动docker容器后,把容器打包成镜像
    docker commit 容器名字 镜像名字
    docker commit httpd-1 httpd-1-commit

  2. Docker file 通过Docker file 可以通过自己的对镜像的的修改,并生成一个新的镜像.

下面我们来做一个Dockerfile

[root@docker Dockerfile]# cat Dockerfile
FROM httpd-1-commit
RUN touch /root/test

[root@docker Dockerfile]# docker build -t httpd-1-commit-with-touch .
Sending build context to Docker daemon 2.048 kB
Step 1/2 : FROM httpd-1-commit
---> d5e604e49f5c
Step 2/2 : RUN touch /root/test
---> Using cache
---> f8f075f7140d
Successfully built f8f075f7140d

使用方法:

docker build -t {image name } {Dockerfile path}
注意dockerfile 所在目录一定要在Dockerfile 目录下,否则会报 错误;
[root@docker home]# docker build -t with-touch-1 .
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/Dockerfile: no such file or directory

若不想使用image的缓存,则在加上--no-cache 的参数
docker build --no-cache -t {image name } {Dockerfile path}

下一篇 docker image 私有仓库制作
https://blog.51cto.com/shyln/2130308