docker: Error response from daemon: driver failed programming external connectivity on endpoint nginx
时间: 2023-10-03 22:10:57 浏览: 386
docker: Error response from daemon: driver failed programming external connectivity on endpoint nginx 是由于iptables配置错误导致的。具体地,iptables没有找到名为"DOCKER"的链/目标/匹配。可以尝试重新启动docker服务来解决这个问题。执行以下命令:
```
systemctl restart docker
```
然后再次运行docker容器:
```
docker run -it -p 8004:80 nginx:latest /bin/bash
```
这样应该能够解决外部连接编程失败的问题。
相关问题
docker: Error response from daemon: driver failed programming external connectivity on endpoint new_nginx
这个错误是由Docker守护进程在尝试为容器配置外部连接时出现的。它通常是由于端口冲突或网络配置问题引起的。以下是一些可能的解决方法:
1. 确保端口未被其他进程占用:检查您要使用的端口是否已被其他应用程序占用。您可以使用`netstat`命令(在Linux上)或`lsof -i :<port>`命令(在Mac上)来检查端口的占用情况。
2. 检查网络配置:如果您使用的是自定义网络,请确保网络配置正确。您可以使用`docker network ls`命令来列出所有可用的网络,并使用`docker network inspect <network_name>`命令来检查网络的详细信息。
3. 检查防火墙设置:如果您的系统上启用了防火墙,请确保防火墙允许Docker容器与外部进行通信。您可以根据您使用的操作系统和防火墙软件进行相应的配置。
4. 重启Docker服务:有时,重启Docker服务可以解决一些临时问题。您可以使用适合您的操作系统的命令来重启Docker服务。
如果上述方法都无法解决问题,请提供更多关于您的环境和具体错误消息的信息,以便我能够提供更准确的帮助。
[root@VM-8-16-centos ~]# docker run --name nginx-container -p 80:80 -d nginx c697df30ec69e891a27d09bf67032d5363edebb41787d92214ddad15872a8d9d docker: Error response from daemon: driver failed programming external connectivity on endpoint nginx-container (946920bceb47bc7836d819268a15f5bfb2416521d65c84ef34a3239bb04a050f): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.
这个错误提示是因为在主机上的 80 端口已经被占用了,Docker 无法将容器内的 80 端口映射到主机的 80 端口上。可能是因为主机上已经运行了其他的 Web 服务,导致端口冲突。
你可以使用以下命令查看哪个进程占用了 80 端口:
```
sudo lsof -i :80
```
然后可以根据该命令的输出结果,杀掉占用 80 端口的进程。
如果不想杀掉该进程,可以考虑将 Docker 容器的端口映射到主机的其他端口上,比如将容器的 80 端口映射到主机的 8080 端口上:
```
docker run --name nginx-container -p 8080:80 -d nginx
```
这样,就可以通过访问 http://localhost:8080 来访问 Nginx 容器内的 Web 服务了。
阅读全文
相关推荐











