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

文章目录

  • 一、host
    • 应用示例
    • 总结
  • 二、none
    • 应用示例
    • 总结

network相关内容:
docker学习(十八、network介绍)
docker学习(十九、network使用示例bridge)
docker学习(二十、network使用示例host、none)
docker学习(二十一、network使用示例container、自定义)

一、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学习(二十、network使用示例host、none)_第1张图片

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

docker学习(二十、network使用示例host、none)_第2张图片

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

可以看到ubuntu的network是host模式
docker学习(二十、network使用示例host、none)_第3张图片

总结

  • 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

docker学习(二十、network使用示例host、none)_第4张图片

总结

  • 这种网络模式下容器只有lo回环网络,没有其他网卡;
  • none网络可以在容器创建时通过 --network none 来指定;
  • 这种类型的网络没有办法联网,封闭的网络能很好的保证容器的安全性。

你可能感兴趣的:(docker,docker,学习,容器,网络)