我正在使用 docker image opencv from https://hub.docker.com/r/andrewssobral/bgslibrary_opencv3/安德鲁索布拉尔的作者。
首先,我通过键入命令初始化图像的容器:
Docker Run -it -p 5901:5901 Andrewssobral/bgslibrary_opencv3 Bash
我尝试通过命令行安装 vim:
apt-get install vim
但是当我使用 exit COMMAND 离开容器并再次运行它时,vim 被卸载了。
那么如何在 docker 中永久安装 vim 或其他软件呢?
但是当我退出容器上方的 docker 并再次运行它时,vim 被卸载了。
这就是问题所在:docker run
创建一个新容器。
使用 docker run ...
时,将根据您在命令中提供的映像创建和启动新容器。它还被分配了一个随机name
(如果未指定)。如果此容器退出,则可以使用 docker start name
并重新启动它。这意味着,如果您以前安装了vim
它将在那里。
解决方案:创建一个包含所需内容的新映像。
-
@Sergiu建议使用 Dockerfile
-
另一种方法是将容器的当前状态保存到新映像,以便以后可以使用它来创建包含更改的新容器。为此,您可以使用 docker 提交
像这样:
docker commit your_modified_container_name [REPOSITORY[:TAG]]
您有两种选择:或者编辑作者提供的 Dockerfile 以添加 vim,或者从映像创建新的Dockefile。