将容器转化为镜像
在上一小节中,我们已经在容器里安装好了nginx,接下来我们希望将这个容器内容保存下来,这样我们下次就无需再次安装了。这就是Docker中将容器转换为镜像的技术。
如果您还在刚刚的安装了nginx的终端里,执行exit
退出此终端,回到系统本身的终端:
ps
命令可以查看我们当前都运行了哪些容器,加上-a
参数后就表示运行过哪些容器,因为我们刚刚已经退出了安装nginx的容器,因此我现在想查看它的话,需要使用-a参数,执行如下命令:
docker ps -a
此时,就会显示出我们刚刚运行的容器,并且Docker会很贴心的随机给每个容器都起个Names方便标示。效果如下:
commit
命令用来将容器转化为镜像,运行下面的命令,我们可以讲刚刚的容器转换为镜像:
sudo docker commit -m "Added nginx from ubuntu14.04" -a
"saymagic" 79c761f627f3 saymagic/ubuntu-nginx:v1
其中,-m
参数用来来指定提交的说明信息;-a
可以指定用户信息的;79c761f627f3
代表的时容器的id;saymagic/ubuntu-nginx:v1
指定目标镜像的用户名、仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。注意的是,你一定要将saymagic改为你自己的用户名。因为下文还会用到此用户名。
这是我们再次使用docker images
命令就会发现此时多出了一个我们刚刚创建的镜像:
此时,如果运行docker run -it saymagic/ubuntu-nginx:v1
就会是一个已经安装了nginx的容器: