Docker使用过程中发现进入不了容器内部
报错:
[root@web01 ~]# docker exec -it GAMES sh
Error response from daemon: container 8a1954ee774bcec4c384ad16a17f9f20d254edc4a2c632807b93c58d6de10512 is not running
[root@web01 ~]# docker exec -it GAMES sh
/ # [root@web01 ~]# docker exec -it GAMES sh
/ # [root@web01 ~]#
发现进入过后很快啊就退出来了查看容器退出或崩溃日志
容器退出必定有原因(例如 Web 服务启动报错、端口被占、缺少依赖或前台命令执行完毕直接结束):
Bash
docker logs --tail 50 GAMES
2026/10/18 07:08:01 [emerg] 1#1: bind() to 0.0.0.0:80 failed (98: Address in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use)
发现原因:80端口已经被占用了是容器起不来的根本原因
原因确定:
[root@web01 ~]# ss -tnulpn
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1306,fd=9),("nginx",pid=1300,fd=9))
tcp LISTEN 0 128 0.0.0.0:81 0.0.0.0:* users:(("nginx",pid=1306,fd=10),("nginx",pid=1300,fd=10))
这两个端口是我曾经在配置文件中已经部署过业务的端口
问题溯源
原因是当时启动容器的时候网络用的是
[root@web01 ~]# docker run -d --network host --name GAMES jasonyin2020/oldboyedu-games:v0.6
--network hsot
应该指明端口号的比较严谨docker run -d --name GAMES -p 8088:80 --restart=always jasonyin2020/oldboyedu-games:v0.6
操作目的
本意是想进入该容器中拷贝相关文件这里顺便把命令也复习一下吧
docker cp <容器名或容器ID>:<容器内文件夹路径> <宿主机目标路径>
评论