访问docker容器映射的端口:curl:(56)Recv失败:对等方重置连接


  • 使用host和br启动两个容器

docker run -d --name="nginx_host" --net="host" nginx

docker run -d --name nginx_br -p 8000:80 nginx

  • 查看容器列表
[root@docker_base ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS                  NAMES
2754b6f0d93e   nginx     "/docker-entrypoint.…"   2 hours ago   Up 2 hours   0.0.0.0:8000->80/tcp   nginx_br
cb73872caa94   nginx     "/docker-entrypoint.…"   2 hours ago   Up 2 hours                          nginx_host
  • 显示问题
[root@docker_base ~]# curl localhost:8000
curl: (56) Recv failure: Connection reset by peer
[root@docker_base ~]# curl localhost:80
<!DOCTYPE html>
<html>
<head>

为什么nginx_br无法访问

==============================

一些信息

[root@docker_base ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2021-03-16 17:12:51 CST; 1h 49min ago
Docs: https://docs.docker.com
Main PID: 2278 (dockerd)
CGroup: /system.slice/docker.service
├─2278 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
└─2975 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8000 -container-ip 172.17.0.2 -container-port 80
3月 16 17:12:50 docker_base dockerd[2278]: time="2021-03-16T17:12:50.364215347+08:00" level=warning msg="[graphdriver] WARNING: the devicemapper storage-dr...e release"
3月 16 17:12:51 docker_base dockerd[2278]: time="2021-03-16T17:12:50.999168695+08:00" level=warning msg="Unable to find pids cgroup in mounts"
3月 16 17:12:51 docker_base dockerd[2278]: time="2021-03-16T17:12:51.000925360+08:00" level=info msg="Loading containers: start."
3月 16 17:12:51 docker_base dockerd[2278]: time="2021-03-16T17:12:51.298066663+08:00" level=info msg="Loading containers: done."
3月 16 17:12:51 docker_base dockerd[2278]: time="2021-03-16T17:12:51.754027070+08:00" level=info msg="Docker daemon" commit=363e9a8 graphdriver(s)=devicema...on=20.10.4
3月 16 17:12:51 docker_base dockerd[2278]: time="2021-03-16T17:12:51.754707862+08:00" level=info msg="Daemon has completed initialization"
3月 16 17:12:51 docker_base systemd[1]: Started Docker Application Container Engine.
3月 16 17:12:51 docker_base dockerd[2278]: time="2021-03-16T17:12:51.869090242+08:00" level=info msg="API listen on /var/run/docker.sock"
3月 16 17:19:45 docker_base dockerd[2278]: time="2021-03-16T17:19:45.903746502+08:00" level=info msg="ignoring event" container=3edc61d736b71ba79f5ed3b09fe...askDelete"
3月 16 18:51:45 docker_base dockerd[2278]: time="2021-03-16T18:51:45.978054059+08:00" level=info msg="ignoring event" container=c5959e50dfa8524bfefe60f8a01...askDelete"
Hint: Some lines were ellipsized, use -l to show in full.
[root@docker_base ~]# brctl show
bridge name bridge id       STP enabled interfaces
docker0     8000.000000000000   no      vetha8d3493
[root@docker_base ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)

以下是的一些环境和网络细节

我无法通过重新启动docker来解决它。但是,我将docker0设置为混杂模式。解决了这个问题

ifconfig docker0 promisc

尝试使用ip 0.0.0.0而不是localhost 在Docker容器中运行服务器

最新更新