Windows 10系统中Docker镜像文件存储位置?WordPress部署相关问题
问题根源说明
你当前docker-compose.yml中使用的是Docker 命名卷(配置顶部volumes字段中声明的wordpress_data),这类卷由Docker后台统一管理,不会生成在你存放docker-compose.yml的本地wordpress-docker目录下。WordPress的所有站点文件(wp-admin、wp-content、wp-includes等)都存储在该命名卷映射的容器内路径/var/www/html下。
方案1:不修改现有配置,直接导入旧wp-content
如果你不想改动已有的docker-compose配置,直接执行以下操作即可:
- 先确保容器已完成初始化启动:
docker compose up -d - 执行复制命令,将本地旧wp-content内容导入容器对应目录:
docker cp ./本地旧wp-content的路径/* $(docker compose ps -q wordpress):/var/www/html/wp-content/ - 修复容器内文件权限,避免WordPress读写报错:
docker exec $(docker compose ps -q wordpress) chown -R www-data:www-data /var/www/html/wp-content
方案2:修改配置,让站点文件存储在本地目录
如果你希望后续可以直接在本地wordpress-docker目录下管理站点文件,可将命名卷改为绑定挂载,操作如下:
- 修改docker-compose.yml配置:
- 把wordpress服务下的volumes配置从
改为volumes: - wordpress_data:/var/www/htmlvolumes: - ./wp-site:/var/www/html - 删除配置底部
volumes段中的wordpress_data: {}行,保留db_data: {}即可。
- 把wordpress服务下的volumes配置从
- 停止并删除现有容器及未使用的旧命名卷(若现有站点已存数据请先备份):
docker compose down -v - 重新启动容器:
docker compose up -d
启动完成后,本地wordpress-docker目录下会生成wp-site文件夹,所有WordPress站点文件都存储在此处,你可以直接把旧wp-content文件夹放到该目录下覆盖即可。
内容的提问来源于stack exchange,提问作者Eldooz
相关产品推荐
相关产品推荐

