首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[分享]WordPress官方Docker,为什么编辑文件无法自动同步到Container里?

发布于 2024-11-05 14:57:36
0
267

在使用WordPress官方Docker容器时,编辑主机上的文件无法自动同步到容器中的问题,通常是由于卷挂载(volume mounting)配置的问题。以下是几个可能的原因和解决方案:检查卷挂载配置...

在使用WordPress官方Docker容器时,编辑主机上的文件无法自动同步到容器中的问题,通常是由于卷挂载(volume mounting)配置的问题。以下是几个可能的原因和解决方案:

检查卷挂载配置
确保你的Docker Compose文件或Docker命令正确地将主机上的文件或目录挂载到容器中。例如,在Docker Compose文件中:

version: '3.1'

services:
  wordpress:
 image: wordpress
 ports:
   - "***0:80"
 volumes:
   - ./your-local-directory:/var/www/html
 environment:
   WORDPRESS_DB_HOST: db
   WORDPRESS_DB_USER: exampleuser
   WORDPRESS_DB_PASSWORD: examplepass
   WORDPRESS_DB_NAME: exampledb

  db:
 image: mysql:5.7
 environment:
   MYSQL_DATABASE: exampledb
   MYSQL_USER: exampleuser
   MYSQL_PASSWORD: examplepass
   MYSQL_ROOT_PASSWORD: somewordpress
 volumes:
   - db_data:/var/lib/mysql

volumes:
  db_data:

 

在这个例子中,确保./your-local-directory路径正确且存在你要同步的文件。

权限问题
检查主机上和容器中文件的权限。主机上的文件和目录必须对Docker进程可读写。你可以使用chmod命令来调整权限,例如:

chmod -R 775 your-local-directory


重启容器
在修改Docker Compose配置文件后,确保重启容器以应用更改:

docker-compose down
docker-compose up -d


确认挂载生效
进入容器检查挂载是否正确:

docker exec -it your_wordpress_container_name bash
cd /var/www/html
ls -l

 

确认容器中的文件和主机上的文件是否一致。

使用绑定挂载(Bind Mounts)
如果卷挂载没有解决问题,尝试使用绑定挂载。使用以下命令启动容器:

docker run -d \
  --name wordpress \
  -p ***0:80 \
  -v $(pwd)/your-local-directory:/var/www/html \
  wordpress

 

这种方式可以直接将当前目录的文件挂载到容器中。

通过以上方法,应该能够解决文件无法自动同步到容器中的问题。如果问题依然存在,请检查Docker版本是否有问题或者是否有其他配置冲突。

评论
一个月内的热帖推荐
鸟云
Lv.1普通用户

275

帖子

20

小组

225

积分

赞助商广告
站长交流