我使用jenkings图像
创建了一个新的docker容器这是我跑的命令
docker run -p 8080:8080 -v /var/jenkins_home jenkins
我在jenkins实例上创建了一些作业并提交了图像
docker commit 7b903d061654 test
当我运行我使用命令创建的图像(如下)时,我没有看到下面的jenkins工作
docker run -p 8080:8080 -v /var/jenkins_home test
我在这里遗漏了什么?我期待我创建的jenkins工作得以保存
如何保留更改并分发图像?
答案 0 :(得分:4)
作为/var/jenkins_home
操作的一部分,Docker卷(例如docker commit
)中的数据不被保留。这是故意的 - 想法是您通过其他机制(例如主机卷(-v /host/directory:/var/jenkins_home
)或通过使用数据容器(使用--volumes-from
)来持久保存数据。
有关Docker卷的更多信息,请参阅Managing data in containers。
以这种方式使用卷来保持数据与应用程序分离。这允许您在运行docker commit
时将大数据保存到卷中而不将其烘焙到图像中,或类似地将安全凭证或其他私有数据存储在卷中,而不会意外地将其泄漏到您打算分发的图像中。