宿主机 无法访问docker的容器(nginx)

正常启动容器

[root@iZ287mq5dooZ data]# docker run --name nginx11 -p 80:80 -d -v /www:/www -v /data:/data --link php7:php7 -it centos/nginx:v1.11.5  
9078f7a9a3550f39127ec07e734d0179453d6d1da60a141f71a14bc352bb8f5d
[root@iZ287mq5dooZ data]# docker ps 
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                         NAMES
9078f7a9a355        centos/nginx:v1.11.5   "/usr/local/nginx/sbi"   6 minutes ago       Up 6 minutes        0.0.0.0:80->80/tcp, 443/tcp   nginx11
e15ebb8a53b2        centos/php:v7.0.12     "/usr/local/php/sbin/"   2 hours ago         Up 2 hours          0.0.0.0:9000->9000/tcp        php7

宿主机访问,不能正常访问,返回Empty reply from server,一直找不到原因

[root@iZ287mq5dooZ data]# curl http://127.0.0.1
curl: (52) Empty reply from server
[root@iZ287mq5dooZ data]# curl http://127.0.0.1
curl: (56) Recv failure: Connection reset by peer

但进入容器内访问是可以正常返回的,bms是返回的内容

[root@iZ287mq5dooZ data]# docker inspect --format "{{ .State.Pid }}"  9078f7a9a355
22063
[root@iZ287mq5dooZ data]# nsenter --target 22063 --mount --uts --ipc --net --pid
[root@9078f7a9a355 /]# curl http://localhost
bms

使用此方式访问也不行

[root@iZ287mq5dooZ data]# docker inspect --format='{{.NetworkSettings.IPAddress}}' 9078f7a9a355
192.168.0.3
[root@iZ287mq5dooZ data]# curl http://192.168.0.3
curl: (7) Failed connect to 192.168.0.3:80; Connection refused

请教一下大家,处理该问题的思路是怎样的?

阅读 10.8k
1 个回答

是个人写nginx.conf 时把nginx的配置的监听端口写错导致的,改为

    server {
        listen       80; // 我写的是127.0.0.1, 其它配置略
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏