首页 > 解决方案 > 访问docker容器映射的端口 :curl: (56) Recv failure: Connection reset by peer

问题描述

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)

以下是一些环境和网络详细信息

标签: dockercontainers

解决方案


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

ifconfig docker0 promisc

推荐阅读