Docker容器重启失败:WordPress与MySQL容器网络异常问题
解决Docker容器重启时网络找不到的问题
我来帮你搞定这个Docker网络报错的问题,这是容器与网络关联异常导致的常见问题,按以下步骤操作就能解决:
1. 彻底清理残留的容器和网络
首先我们要把旧的容器和残留的网络全部清理掉,避免旧配置干扰:
- 停止所有和WordPress项目相关的容器:
docker stop $(docker ps -a -q --filter name=wordpress_) - 删除这些已停止的容器:
docker rm $(docker ps -a -q --filter name=wordpress_) - 删除所有和该项目相关的残留网络(从你提供的
docker network ls输出里能看到这些网络):docker network rm wordpress_database wordpress_default wordpress_wordpress
2. 重新用Docker Compose部署项目
进入你的docker-compose.yml所在的目录,执行以下命令重新启动服务:
docker-compose up -d
这时候Docker会重新创建正确的网络,并将WordPress和数据库容器关联到新网络上,就不会再出现网络找不到的错误了。
3. 后续复制文件的优化建议
以后你需要往WordPress容器里复制HTML/PHP文件时,不需要停止容器,直接用docker cp命令就能完成,这样可以避免停容器后出现的网络关联问题。比如:
- 复制本地的
test.php到WordPress容器的网站根目录:docker cp ./test.php $(docker-compose ps -q wordpress):/var/www/html/ - 或者直接用容器名(可以通过
docker ps查看):docker cp ./test.php wordpress_wordpress_1:/var/www/html/
问题原因说明
你遇到的错误是因为容器的配置里还绑定着已经被删除的旧网络ID,当你尝试重启容器或者用docker-compose up时,容器会尝试连接那个不存在的旧网络,所以报错。彻底清理旧容器和网络后,重新部署会创建全新的网络关联,就能解决这个问题。
内容的提问来源于stack exchange,提问作者kasko
相关产品推荐
相关产品推荐

