Docker网络模式说明

现在的Docker版本不推荐继续使用Link了,而是推荐用网络模式解决问题,简单讲一下最常用的几个网络模式,其他我用到时候再补充。

bridge

-net不加参数就是默认的bridge模式,这个默认bridge模式下,容器会连接到默认网桥docker0,但容器与宿主机,容器与容器的网络均是隔离的,无法互相访问,想要访问需要将容器的一些端口EXPOSE,对于单容器服务而言通常已经足够了。

如果想让容器互相通信,需要采用自定义bridge的方法,运行命令

docker network ls

可以看到有哪些网络已经创建,使用命令

docker network create <my_net>

可以创建自定义网桥,之后,运行镜像时指定网桥并给镜像名称,如

docker run -it --network <my_net> --name <container_name> <image:tag>

则指定了容器的网桥。使用同一网桥的容器互相连通,可以通过容器名互相访问,这样的模式能够应对同一机器上几个容器组合工作的场景。

host

host模式无需多言,即让容器和宿主机共享同一网络,适合于多机工作的服务,需要注意的是容器内部运行程序的端口不能和宿主机有冲突,这里建议在创建镜像的Dockerfile中通过ENTRYPOINT来灵活定义容器内服务的端口,例如,一个跑sshd服务的容器,可以在Dockerfile中加入如下一行作为最后一行:

ENTRYPOINT ["/usr/sbin/sshd","-D","-p"]

运行时,只需要使用

docker run -d --network host <sshd_image:tag> <port>

即可在指定端口运行,这样就不会和主机的sshd端口冲突。

转载于:https://www.cnblogs.com/cielosun/p/10070840.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值