docker 如何和主机共享同一个网络, docker开启host模式

本文档为个人博客文档系统的备份版本、作者:小游、作者博客:点击访问

Docker容器运行的时候有host、bridge、none三种网络可供配置。默认是bridge,即桥接网络,以桥接模式连接到宿主机;host是宿主网络,即与宿主机共用网络;none则表示无网络,容器将无法联网。
当容器使用host网络时,容器与宿主共用网络,这样就能在容器中访问宿主机网络,那么容器的localhost就是宿主机的localhost。

docker run -d --name nginx --network host nginx

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker网络模式可以指定容器的网络配置,包括IP地址、端口映射、容器间通信等。其中,host网络模式是一种特殊的网络模式,它让容器共享主机网络栈,即容器的网络主机网络完全一致,可以直接使用主机的IP地址和端口。 下面是一个host网络模式的实战演示: 1. 创建一个使用host网络模式的容器 ``` docker run --net=host -it --rm ubuntu bash ``` 这条命令会创建一个使用host网络模式的容器,并打开一个bash终端。在这个容器中,可以直接使用主机的IP地址和端口。 2. 在容器中测试网络连接 在容器中执行以下命令,测试容器是否能够访问主机上的服务: ``` ping localhost curl localhost:80 ``` 如果能够正常访问,说明容器已经成功地共享主机网络。可以尝试访问其他主机上的服务,例如: ``` ping google.com curl google.com ``` 3. 在主机上测试网络连接 在主机上执行以下命令,测试主机是否能够访问容器中的服务: ``` curl localhost:80 ``` 如果能够正常访问,说明主机已经成功地与容器共享网络。可以尝试在主机上访问其他容器中的服务,例如: ``` curl http://容器IP地址:端口号 ``` 4. 退出容器 在容器中执行exit命令,退出容器。 ``` exit ``` 需要注意的是,host网络模式可能会带来安全隐患,因为容器可以直接访问主机上的服务,而不需要进行端口映射或者其他安全措施。因此,应该谨慎使用host网络模式,并根据具体情况进行安全配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值