因此,我正在尝试以一种方式打包我的 WordPress 图像,以保留除上传之外的所有文件。为此,我创建了我的 Dockerfile,它使用官方 WordPress 映像作为其基础,并从存档中添加文件(包含所有 WordPress 文件、主题、插件等),如下所示:
FROM wordpress
ADD archive.tar.gz /var/www/html/
由于我希望上传持久化,我创建了一个单独的数据卷容器,例如test2.com-wp-data
:
docker create -v /var/www/html/wp-content/uploads —name test2.com-wp-data wordpress
然后我只需通过—-volumes-from
标志安装它:
docker run —name test2.com --volumes-from test2.com-wp-data -d --link test2.com-mysql:mysql myimage
但是,当我检查新创建的容器时,我找不到/var/www/html/wp-content/uploads
:
# docker inspect -f '{{.HostConfig.VolumesFrom}}' test2.com
[test2.com-wp-data]
# docker inspect -f '{{.Volumes}}' test2.com
map[/var/www/html:/var/lib/docker/vfs/dir/4fff1d36d5aacd0b2c73977acf8fe680bda6fd891f2c4410a90f6c2dca4aaedf]
我可以看到两者/var/www/html
都/var/www/html/wp-content/uploads
设置为我的test2.com-wp-data
数据容器中的卷:
# docker inspect -f '{{.Config.Volumes}}' test2.com-wp-data
map[/var/www/html:map[] /var/www/html/wp-content/uploads:map[]]
我知道wordpress
默认情况下图像会创建一个/var/www/html
卷,对此我并不介意,但这是否意味着如果单独安装该文件夹下的任何内容都会被忽略?我是否需要构建自己的 WordPress 映像才能/var/www/html/wp-content/uploads
在我的 WordPress 容器中设置为卷?
非常感谢您的宝贵时间!
编辑:我已经使用与 无关的文件夹测试了不同的设置,/var/www/html
结果是相同的:—-volumes-from
被忽略。