我正在使用来自https://hub.docker.com/r/andrewssobral/bgslibrary_opencv3/的docker image opencv andrewssobral作者。
首先,我通过输入命令初始化图像的容器:
docker run -it -p 5901:5901 andrewssobral / bgslibrary_opencv3 bash
我尝试通过命令行安装vim:
apt-get install vim
但是当我使用 退出 COMMAND离开容器并再次运行它时,vim就被卸载了。
那么如何在docker中永久安装vim或其他软件?
答案 0 :(得分:3)
但是当我从容器上方的docker退出并再次运行它时,vim就被卸载了。
这就是问题所在:docker run
创建一个新容器。
使用docker run ...
时,会根据您在命令中提供的图像创建并启动新容器。它还被分配了一个随机name
(如果你没有指定一个)。如果此容器退出,则可以使用docker start name
并再次启动它。这意味着,如果您之前安装了vim
,那么它就会存在。
解决方案:创建一个新图片,其中包含您需要的内容。
@Sergiu建议使用Dockerfile
或其他方法是将容器的当前状态保存到新映像,以便稍后可以使用它来创建包含更改的新容器。为此,您可以使用docker commit
类似的东西:
docker commit your_modified_container_name [REPOSITORY[:TAG]]
答案 1 :(得分:2)
您有两个选择:或者您编辑作者提供的 Dockerfile 以添加vim,或者您创建一个新的 Dockefile FROM 图像