如何在现有WordPress git仓库中配置docker-compose.yml并映射wp-content目录
解决方案
你只需修改原有docker-compose.yml中wordpress服务的volumes配置,将本地仓库的wp-content目录挂载到容器对应路径即可,具体操作如下:
完整修改后的docker-compose.yml
version: "3.9" services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest volumes: # 新增本地wp-content目录挂载 - ./wp-content:/var/www/html/wp-content ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: db_data: {}
关键修改说明
- 新增
- ./wp-content:/var/www/html/wp-content挂载规则:.代表docker-compose.yml文件所在的目录,请确保你将docker-compose.yml放在Git仓库根目录,和wp-content目录同级,即可实现本地仓库wp-content和容器内对应目录的双向同步,所有修改会直接落地到本地仓库文件中,方便提交变更。 - 移除了原有的
wordpress_data命名卷:WordPress核心文件直接使用镜像内置版本即可,不需要额外持久化。如果你有全量持久化站点文件的需求,也可以保留该卷,本地挂载的wp-content优先级高于命名卷内的对应目录,不会影响映射效果。
注意事项
- 若启动后出现WordPress无法读写wp-content目录的权限问题,可在仓库根目录执行
sudo chown -R 33:33 ./wp-content修复,官方WordPress镜像内运行服务的www-data用户默认UID为33。 - 配置修改完成后,执行
docker-compose up -d即可启动服务。
内容的提问来源于stack exchange,提问作者Ryan Marks
相关产品推荐
相关产品推荐

