首先介绍两个命令:
1.docker container commit,可以简写为:docker commit。这个命令是把一个修改后的container重新变成一个image。
2.docker image build,可以简写为:docker build
首先,演示一下docker commit,先通过docker pull centos:7命令,拉取最新的centos的image。
docker pull centos:7
然后交互式运行centos的container
docker run -it centos:7
然后我修改这个container,在里面安装vim。
yum install -y vim
备注:-y表示"yes"。如果没有-y的话,就要在安装过程中手动输入"y"。
然后,我们基于这个安装了vim的centos7的container制作一个image。
使用docker commit containerId yourImageName,例如:
docker commit e3b6569dbeed lvdapiaoliang/centos7-vim
这样就通过container制作了新的image。
这就是通过已经存在的container创建一个image,但是,这种方式并不提倡。因为如果我们把这个image发布出去之后,别人不知道这个image里面都有什么,很不安全。
通常情况下我们通过dockerfile来创建image。
我们先删除刚才创建的image。
docker rmi -f 0e66e1ecbfb2
然后我们创建一个docker-centos-vim目录,然后进入这个目录里面。
mkdir docker-centos-vim
接着,执行:
vim Dockerfile
Dockerfile里面的内容如下:
FROM centos:7
RUN yum install -y vim
然后,就可以基于这个Dockerfile创建image了。
docker build -t centos7-new-vim .
最后面的点表示基于当前目录的Dockerfile去build的image。过程稍微有点慢,需要稍等一会儿。
通过这种方式,以后只需要分享Dockerfile给别人让他们自己build就好了。