Halo
发布于 2024-07-22 / 84 阅读 / 0 评论 / 0 点赞

docker网络设置

docker网络模式

bridge模式,--net=bridge(默认)

这是dokcer网络的默认设置。安装完docker,系统会自动添加一个供docker使用的网桥docker0,可以把docker0理解成一台虚拟的交换机。我们创建一个新的容器时,容器通过DHCP获取一个与docker0同网段的IP地址。容器将仅限于通过同一主机进行通信。

host模式,--net=host

这个模式下创建出来的容器,将不拥有自己独立的Network Namespace,即没有独立的网络环境。它使用宿主机的ip和端口。

container模式,--net=container:NAME_or_ID

这个模式就是指定一个已有的容器,共享该容器的IP和端口。除了网络方面两个容器共享,其他的如文件系统,进程等还是隔离开的。

none模式,--net=none

这个模式下,dokcer不为容器进行任何网络配置。需要我们自己为容器添加网卡,配置IP。

网络操作

查看

docker network ls
NETWORK ID NAME DRIVER SCOPE
7980668d5ffd bridge bridge local
dd5a04e27e0e host host local
bfa1d5b81f98 none null local

创建

docker network create --driver bridge --subnet 192.168.1.0/16 --gateway 192.168.1.0 mynet
  • driver bridge 指定使用桥接模式
  • subnet 192.168.1.0/16 表示子网ip 可以分配 192.168.1.2 到 192.168.255.255
  • gateway 192.168.1.0 指定网关
  • mynet 指定网络名

连接容器到网络

docker network connect/disconnect [network-name] [container-name]

同宿主机一个网络

$ docker run -d --name nginx --network host nginx:latest

评论