You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Docker存储移至第二磁盘后overlay2配置失败及权限问题求助

问题排查与解决方案

一、Docker存储驱动与启动问题

  1. 清理残留配置与检查存储目录

    • 编辑/etc/docker/daemon.json,确保仅保留存储路径配置,移除storage-driver相关行(如果之前添加过):
      {
        "data-root": "/mnt/second-disk/docker"
      }
      
    • 验证新存储目录权限:Docker自动创建的目录需为root:root权限,权限值700,执行以下命令修复:
      sudo chown -R root:root /mnt/second-disk/docker
      sudo chmod -R 700 /mnt/second-disk/docker
      
    • 查看启动日志定位具体错误:
      sudo journalctl -u docker.service -b
      
      若日志出现SELinux相关报错,临时关闭测试:sudo setenforce 0,长期解决可执行sudo setsebool -P docker_use_fusefs 1。
  2. 解决卷重复挂载问题

    • 清理未使用的冗余卷:
      sudo docker volume prune
      
    • 检查docker-compose.yml中的卷定义,避免重复使用同一卷名或滥用匿名卷(无命名的- ./xxx:/path之外的卷)。

二、WordPress与数据库连接/登录问题

1. MySQL root登录失败修复

  • 确认docker-compose.yml中数据库服务的环境变量配置完整:
    db:
      image: mysql:8.0
      volumes:
        - db_data:/var/lib/mysql
      environment:
        MYSQL_ROOT_PASSWORD: your_secure_root_pass
        MYSQL_DATABASE: wordpress
        MYSQL_USER: wp_db_user
        MYSQL_PASSWORD: wp_db_pass
      command: --default-authentication-plugin=mysql_native_password # 适配MySQL 8.0的认证方式
    

    注:MySQL 8.0默认使用caching_sha2_password认证,旧版客户端(部分WordPress镜像)不兼容,添加上述command可切换为兼容的mysql_native_password。

  • 清理旧数据库卷数据(若迁移存储后残留旧数据导致冲突):
    sudo docker volume rm <your-project-name>_db_data
    
  • 正确进入容器执行登录命令:
    sudo docker exec -it <db-container-name> mysql -uroot -p
    
    输入docker-compose.yml中设置的MYSQL_ROOT_PASSWORD,而非本地MySQL的密码。

2. WordPress数据库连接错误修复

  • 确保WordPress服务的环境变量正确指向数据库服务:
    wordpress:
      image: wordpress:latest
      volumes:
        - wp_data:/var/www/html
      environment:
        WORDPRESS_DB_HOST: db:3306 # 服务名作为hostname,docker-compose内部网络可直接访问
        WORDPRESS_DB_USER: wp_db_user # 与db服务的MYSQL_USER一致
        WORDPRESS_DB_PASSWORD: wp_db_pass # 与db服务的MYSQL_PASSWORD一致
        WORDPRESS_DB_NAME: wordpress # 与db服务的MYSQL_DATABASE一致
      depends_on:
        - db
      restart: always # 确保db启动后wp自动重启重试连接
    
  • 验证容器间网络连通性:
    sudo docker exec -it <wp-container-name> ping db
    
    若ping不通,检查docker-compose默认网络是否正常,可手动指定网络:
    version: '3.8'
    networks:
      wp-network:
        driver: bridge
    services:
      db:
        # ... 其他配置
        networks:
          - wp-network
      wordpress:
        # ... 其他配置
        networks:
          - wp-network
    

内容的提问来源于stack exchange,提问作者fudo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 04:45:42