Docker不会将数据保存在主机安装的卷中

我试图在Windows 7上使用Docker Toolbox在Docker容器中启动jenkins。

我跑

docker run --name jenkins -p 8080:8080 -p 50000:50000 -v "//C/Users/myname/.jenkins:/var/jenkins_home" jenkins 

jenkins启动得很好,但在C:/Users/myname/.jenkins下没有创build任何东西。 我已经创build了文件夹,但它保持空白。

当我停下来取出容器并重新开始时,jenkins失去了我之前所做的一切。

我究竟做错了什么?

使用Docker工具箱,Docker镜像实际上不会在Windows机器上运行,而是在Windows机器上创build的虚拟机上运行。

看来主机安装的卷在Windows上有Docker Toolbox的一些注意事项。 看例如:

也许这里有一些提示,可以帮助你把它工作。


如果您希望数据在容器之间保留,即使在删除jenkins容器后,您也可以为jenkins homedir使用数据卷。 在这种情况下,你会开始jenkins如下:

 docker run --name jenkins -p 8080:8080 -p 50000:50000 -v "/var/jenkins_home" jenkins 

这基本上为/ var / jenkins_home目录创build了一个单独的docker容器,允许您在不影响数据的情况下删除/升级/ jenkins容器等。

尽pipe确定你明白这里发生了什么。 阅读: https : //docs.docker.com/engine/tutorials/dockervolumes/

这也是在jenkins docker-image文档中提到的: https ://hub.docker.com/_/jenkins/


另外:只要你需要,只需“停止”和“重新启动”容器,是否可以接受? – 在这种情况下,您不需要安装主机的目录。 在这种情况下,只需省略-v选项。 这确实很难备份您的数据,或者使用更新的jenkins图片。

我没有设法使用docker控制台,但是可以在Docker Toolbock中使用Kitematic。 在“卷”选项卡中,可以将本地文件夹作为卷添加到容器中。 Jenkins文件按预期出现在本地文件夹中。