让我澄清一下情况:
docker run --name wp -d -p 80:80 wordpress
docker exec -it wp / bin / bash
一个根:
触摸/ xxx
WP内容/主题之一
触摸/ var / www / html / wp-content / themes / xxx
docker 提交wp new_wp
docker杀死wp
docker run --name new_wp -d -p 80:80 new_wp
根目录中的虚拟文件存在
wp-content / theme中的虚拟文件不再存在!
问题:
附言我正在部署到AWS ECS Fargate实例,因此使用卷对我而言不是很实际。理想情况下-我希望将所有内容都放在一张图片下,而文件不会从wp-content目录中消失。
非常感谢您的回答。
最佳答案
wordpress includes a VOLUME statement的docker镜像:
VOLUME /var/www/html
即使您未在
docker run
命令中指定一个卷,这也会强制在任何结果容器上创建一个卷。没有规范,您将获得一个匿名卷,该卷具有唯一的长id,可以在docker volume ls
中看到。docker commit
命令(强烈建议您不要在想要重复性的任何工作流程中使用)仅捕获对容器文件系统的更改(您可以使用docker container diff
查看这些内容)。卷的更改不属于容器文件系统,因此不会包含在此提交中。要保留数据,您应该定义并使用一个卷,例如:
docker run --name wp -v wpdata:/var/www/html -d -p 80:80 wordpress
关于wordpress - 创建新的Docker镜像时,Docker WordPress镜像不会保留wp-content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58580175/