docker学习(二十、network使用示例host、none)

发布时间:2023年12月27日

一、host

应用示例

# 使用host类型的network启动ubuntu镜像,配置了默认端口会出现警告,不配置端口即可
docker run -itd -p 8080:80 --network host --name ubuntu ubuntu:latest /bin/bash
docker rm -f ubuntu
# 使用host类型的network启动ubuntu镜像,配置了默认端口会出现警告
docker run -itd --network host --name ubuntu ubuntu:latest /bin/bash

在这里插入图片描述

# 进入容器内部
docker exec -it ubuntu /bin/bash
# 查看容器内部的网络配置,发现与宿主机一致
ifconfig

在这里插入图片描述

# 退出容器
exit
# 查看容器的network
docker inspect ubuntu | tail -n 20

可以看到ubuntu的network是host模式
在这里插入图片描述

总结

  • host没有bridge的配对(eth0 <–> veth)显示;
  • host网络可以在容器创建时通过 --network host来指定;
  • 使用host模式的容器可以直接使用docker host的IP地址与外界通信,容器内部的服务端口也可以使用宿主机的端口,不需要进行NAT(地址转换);
  • host最大的优势就是网络性能比较好,但是docker host上已经使用的端口就不能再用了,网络的隔离性不好。

二、none

应用示例

# 使用host类型的network启动ubuntu镜像,配置了默认端口会出现警告,不配置端口即可
docker run -itd -p 8081:80 --network none --name ubuntu1 ubuntu:latest /bin/bash
docker inspect ubuntu1 | tail -n 20

在这里插入图片描述

总结

  • 这种网络模式下容器只有lo回环网络,没有其他网卡;
  • none网络可以在容器创建时通过 --network none 来指定;
  • 这种类型的网络没有办法联网,封闭的网络能很好的保证容器的安全性。
文章来源:https://blog.csdn.net/qq_35716085/article/details/135215618
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。