如何在泊坞窗图像中包含卷数据

我有两个卷从文件创build的docker图像(mybase)

# set volume mount points for installation and home directory VOLUME ["/usr/local/data", "/var/local/data"] 

现在我想要新的图像生产,将数据作为图像的一部分,以便我可以把它拉。 但是我不知道如何访问这些数据。

我想要做这样的事情 这将是我的新的Dockerfile for prod将从当前创build图像

 FROM mybase ADD /usr/local/data:/usr/local/data 

但目录不在主机上,所以我不知道如何添加它

根据数据的性质,您可能也会将其视为图像的一部分。 在这种情况下,您可以携带这些文件的图像。 您可以将其作为基础图像和特定构build的图像进行构build,构build在可访问所需文件的主机上(如CI构build节点):

 FROM mybase ADD <source of installation> /usr/local/data ADD <source of the home data> /var/local/data 

这个新映像(可能是每个版本的版本)将会被/usr/local/data/var/local/data拉到目标环境中。

在环境(生产)上运行时,如果需要,您仍然可以使用数据容器技术:

 docker run --it -v /usr/local/data -v /var/local/data --name my_app_data_container <my_repo>/<my_app>:<build> /bin/false docker run -d --volumes-from my_app_data_container --name my_app_daemon <my_repo>/<my_app>:<build> 

我有同样的问题,最后决定备份和恢复他们在文档中描述的方式 :

备份:

 sudo docker run --volumes-from dbdata-prod \ -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata 

…还原…

 sudo docker run --volumes-from dbdata-test \ -v $(pwd):/backup busybox tar xvf /backup/backup.tar