如何在泊坞窗图像中包含卷数据
我有两个卷从文件创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