栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Docker命令中的

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker命令中的

在docker安装之后,默认情况下您具有3个网络:

docker network lsNETWORK ID          NAME     DRIVER   SCOPEf3be8b1ef7ce        bridge   bridge   localfbff927877c1        host     host     local023bb5940080        none     null     local

我试图保持这种简单。因此,如果默认情况下启动容器,它将在网桥(docker0)网络内创建。

$ docker run -d jenkins1498e581cdba        jenkins  "/bin/tini -- /usr..."   3 minutes ago       Up 3 minutes        8080/tcp, 50000/tcp   friendly_bell

在詹金斯的dockerfile中,端口

8080
50000
被暴露。这些端口在其桥接网络上为容器打开。因此,该桥接网络中的所有内容都可以访问端口
8080
和上的容器
50000
。桥接网络中的所有内容都在的私有范围内。
"Subnet":"172.17.0.0/16",
如果要从外部访问它们,则必须使用映射端口
-p8080:8080
。这会将容器的端口映射到真实服务器(主机网络)的端口。因此,在上访问服务器
8080
将路由到port上的网桥
8080

现在您也有了主机网络。不会将容器网络化。因此,如果您在主机网络中启动容器,它将看起来像这样(这是第一个容器):

ConTAINER ID        IMAGE    COMMAND       CREATED  STATUS   PORTS      NAMES1efd834949b2        jenkins  "/bin/tini -- /usr..."   6 minutes ago       Up 6 minutes        eloquent_panini1498e581cdba        jenkins  "/bin/tini -- /usr..."   10 minutes ago      Up 10 minutes       8080/tcp, 50000/tcp   friendly_bell

区别在于端口。您的容器现在位于主机网络中。因此,如果您

8080
在主机上打开端口,则将立即访问该容器。

$ sudo iptables -I INPUT 5 -p tcp -m tcp --dport 8080 -j ACCEPT

我已经

8080
在防火墙中打开了端口,当我现在在端口上
8080
访问服务器时,我正在访问我的詹金斯。我认为此博客对于更好地理解它也很有用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/366752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号