Docker组合端口转发无法正常工作

栏目: 编程工具 · 发布时间: 6年前

内容简介:尝试删除您创建的所有网络,如下所示:docker network rm $(docker network ls -q)然后再次运行docker-compose

当我使用 docker 时使用非常简单的命令:

docker run -p 80:80 nginx

端口转发工作正常,当我使用浏览器/ curl转到localhost:80时,我可以获得nginx’欢迎页面’.

在我使用非常相似但docker-compose特定配置的同时:

version: '3'
services:
  nginx:
    image: nginx
    ports:
     - "80:80"

当我做docker-compose并进入浏览器时 – 我看到无限加载,所以看起来端口转发没有正确配置,但我无法理解配置中的错误.

我尝试使用不同的浏览器和卷曲,我得到相同的结果 – 无限加载.

这里的Nginx只是一个例子,因为它很简单,事实上我对redis / mysql / java图像有同样的问题,所以问题与nginx无关.

我还尝试了以下方法通过docker-compose启动容器:

docker-compose run -p 80:80 nginx

docker-compose run --service-ports nginx

但没有运气,我得到了同样的结果.

在两种情况下(docker run和docker-compose up)我都有相同的网络驱动程序类型 – bridge.

我已经比较了docker inspect<container id>的结果.对于这两种情况: http://i.prntscr.com/obvxi0yESEa92znLDEu_PA.png

和docker检查<network id>的结果:

http://i.prntscr.com/yyTpetvJSXa-dz4o9Pcl3w.png

ifconfig docker0结果:

docker0   Link encap:Ethernet  HWaddr 02:42:f1:9a:b6:72  
          inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:f1ff:fe9a:b672/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:837 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:47434 (47.4 KB)  TX bytes:107712 (107.7 KB)

brctl显示结果:

bridge name     bridge id               STP enabled     interfaces
br-f7adc3956101         8000.02427f870e7f       no
docker0         8000.0242f19ab672       no

主机上的ifconfig结果为: https://pastebin.com/6ufWeYTE

主机上的路由结果:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    600    0        0 wlp4s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 docker0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp4s0

docker和docker-compose都是使用适用于 Linux 的官方站点说明安装的.

主机操作系统:Ubuntu 17.04

更新:

我试图在compose配置中设置’可附加’网络属性,问题得到解决.虽然还不清楚为什么会这样.

networks:
  default:
  attachable: true

尝试删除您创建的所有网络,如下所示:

docker network rm $(docker network ls -q)

然后再次运行docker-compose

翻译自:https://stackoverflow.com/questions/47043428/docker-compose-port-forwarding-not-working-properly


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据挖掘

数据挖掘

(美)Jiawei Han、(加)Micheline Kamber、(加)Jian Pei / 范明、孟小峰 / 机械工业出版社 / 2012-8 / 79.00元

数据挖掘领域最具里程碑意义的经典著作 完整全面阐述该领域的重要知识和技术创新 这是一本数据挖掘和知识发现的优秀教材,结构合理、条理清晰。本书既保留了相当篇幅讲述数据挖掘的基本概念和方法,又增加了若干章节介绍数据挖掘领域最新的技术和发展,因此既适合初学者学习又适合专业人员和实践者参考。本书视角广阔、资料翔实、内容全面,能够为有意深入研究相关技术的读者提供足够的参考和支持。总之, 强烈推荐......一起来看看 《数据挖掘》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具