gpt4 book ai didi

wordpress - 创建新的Docker镜像时,Docker WordPress镜像不会保留wp-content

转载 作者:行者123 更新时间:2023-12-02 18:51:26 25 4
gpt4 key购买 nike

让我澄清一下情况:

  • 使用以下命令运行wordpress docker容器:

    docker run --name wp -d -p 80:80 wordpress


  • 使用bash登录到正在运行的容器:

    docker exec -it wp / bin / bash


  • 创建2个虚拟文件:

    一个根:

    触摸/ xxx

    WP内容/主题之一

    触摸/ var / www / html / wp-content / themes / xxx


  • 创建一个新的wordpress图片:

    docker 提交wp new_wp


  • 杀死原始容器:

    docker杀死wp


  • 运行新的docker镜像:

    docker run --name new_wp -d -p 80:80 new_wp


  • 检查在步骤3中创建的虚拟文件:

    根目录中的虚拟文件存在

    wp-content / theme中的虚拟文件不再存在!


  • 问题:
  • 谁能在步骤7中解释这种商务行为?
  • 我应该怎么做才能保留wp内容数据?

  • 附言我正在部署到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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com