在 docker 中提交交互式容器

Committing an interactive container in docker

我正在尝试在 docker 的 centOS 容器中的 bash 上安装 vim 编辑器。但是,一旦我退出容器,我就失去了进步。有没有办法在我下载完编辑器后提交容器? 这就是我正在做的事情:

user@personal-pc:~/Desktop$ sudo docker run -i -t centos /bin/bash
[root@9c0f428c4907 /]# yum install vim

安装完成后,编辑器完美运行。但是,当我结束此 运行ning 会话并再次 运行 bash 时,编辑器不存在。

[root@d17ae0e8bf85 /]# vim abc.txt
bash: vim: command not found

我该如何提交之前安装编辑器的容器?

当我结束这个运行 session -> 所以现在,你做 docker commit 1234 mycontainer ,如果你开始一个新的互动 session,你会失去你之前所做的

使用新名称提交容器 9c0f428c4907。(安装后 vim) 例如:docker commit 9c0f428c4907 centos_viminstalled

现在 运行 这个 cnetos_viminstalled 图像在一个容器中 docker 运行 -i -t cnetos_viminstalled /bin/bash 您将能够看到 vim 已安装在此新映像中 centos_viminstalled