在Docker中将数据添加到现有命名卷的正确方法是什么?
我以旧的方式使用Docker和卷容器:
docker run -d --name jenkins-data jenkins:tag echo "data-only container for Jenkins"
但是现在我通过创建命名卷更改为新方法:
docker volume create --name my-jenkins-volume
我将此新卷绑定到新的Jenkins容器。我只剩下一个文件夹,其中有/var/jenkins_home
我以前的jenkins容器的文件夹。(通过使用docker
cp)现在,我要用该文件夹的内容填充新的命名卷。
我可以复制该文件夹的内容到/var/lib/jenkins/volume/my-jenkins-volume/_data
吗?
回答:
您 可以 数据无疑直接复制到/var/lib/docker/volumes/my-jenkins-volume/_data
,但这样做你:
依靠对Docker主机的物理访问。如果您正在与远程docker API进行交互,则此技术将无效。
将来,依赖于卷实现的特定方面可能会发生变化,从而破坏您依赖它的任何流程。
我认为您最好依靠命令行客户端使用docker api可以完成的事情。最简单的解决方案可能只是使用一个辅助容器,例如:
docker run -v my-jenkins-volume:/data --name helper busybox truedocker cp . helper:/data
docker rm helper
以上是 在Docker中将数据添加到现有命名卷的正确方法是什么? 的全部内容, 来源链接: utcz.com/qa/402765.html