2

我正在使用来自andrewssobral 作者的https://hub.docker.com/r/andrewssobral/bgslibrary_opencv3/ 的 docker image opencv。

首先,我通过键入命令初始化图像容器:

docker run -it -p 5901:5901 andrewssobral/bgslibrary_opencv3 bash

我尝试通过命令行安装 vim:

apt-get install vim

但是当我使用exit COMMAND 退出容器并再次运行它时,vim 被卸载了。

那么如何在 docker 中永久安装 vim 或其他软件呢?

4

2 回答 2

5

但是当我退出容器上方的 docker 并再次运行它时,vim 被卸载了。

这就是问题所在:docker run创建一个新容器。

当您使用docker run ...新容器时,会根据您在命令中提供的图像创建和启动。它还被分配了一个随机数name(如果您没有指定一个)。如果此容器退出,您可以使用docker start name并再次启动它。这意味着如果您以前安装过vim它,它将在那里。

解决方案:创建一个包含您需要的新图像。

  1. @Sergiu建议使用 Dockerfile

  2. 或者另一种方法是将容器的当前状态保存到新图像中,以便以后可以使用它来创建包含更改的新容器。为此,您可以使用docker commit

像这样的东西:

docker commit your_modified_container_name [REPOSITORY[:TAG]]
于 2017-10-11T11:19:09.813 回答
3

你有两个选择:或者你编辑作者提供的Dockerfile来添加 vim,或者你从镜像中创建一个新Dockefile

于 2017-10-11T11:15:33.810 回答