Docker - 网络

网络

  • 安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host
    • None:该模式关闭了容器的网络功能,对外界完全隔离
    • host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
    • bridge 桥接网络,此模式会为每一个容器分配IP
  • 可以使用该--network标志来指定容器应连接到哪些网络

1 bridge(桥接)

  • bridge网络代表所有Docker安装中存在的网络
  • 除非你使用该docker run --network=<NETWORK>选项指定,否则Docker守护程序默认将容器连接到此网络
  • bridge模式使用 --net=bridge 指定,默认设置
docker network ls #列出当前的网络
docker inspect bridge #查看当前的桥连网络
docker run -d --name nginx1 nginx
docker run -d --name nginx2 --link nginx1 nginx
docker exec -it nginx2 bash
ping nginx1

# nginx1 ip - 172.18.0.2
# nginx2 ip - 172.18.0.3

ifconfig查看网卡:docker0 --> 172.18.0.1

cat /etc/hosts:查看ip映射

2 none

  • none模式使用--net=none指定
# --net 指定无网络
docker run -d --name nginx_none --net none nginx
docker inspect none
docker exec -it nginx_none bash
ip addr

3 host

  • host模式使用 --net=host 指定
docker run -d --name nginx_host --net host nginx
docker inspect host
docker exec -it nginx_host bash
ip addr

docker network inspect none/host : ip和mac地址都为空,none不能联网,host使用主机网络

4 端口映射

# 查看镜像里暴露出的端口号
docker image inspect nginx
"ExposedPorts": {"80/tcp": {}}
# 让宿主机的8080端口映射到docker容器的80端口
docker run -d --name port_nginx -p 8080:80  nginx
# 查看主机绑定的端口
docker container port port_nginx

5 指向主机的随机端口

docker run -d --name random_nginx --publish 80 nginx
docker port random_nginx

docker run -d --name randomall_nginx --publish-all nginx
docker run -d --name randomall_nginx --P nginx

6 创建自定义网络

  • 可以创建多个网络,每个网络IP范围均不相同
  • docker的自定义网络里面有一个DNS服务,可以通过容器名称访问主机
# 创建自定义网络
docker network create --driver bridge myweb
# 查看自定义网络中的主机
docker network inspect myweb
# 创建容器的时候指定网络
docker run -d --name mynginx1  --net myweb nginx
docker run -d --name mynginx2  --net myweb nginx

docker inspect myweb # 可以看到containers包含了以上两项

docker exec -it mynginx2 bash
ping mynginx1

7 连接到指定网络

docker run -d --name mynginx3   nginx
docker network connect  myweb mynginx3
docker network disconnect myweb mynginx3

# mynginx3可以ping   myweb网络下的ip,也可以ping其原本的网段的ip

8 移除网络

docker network rm myweb
发布了88 篇原创文章 · 获赞 16 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_36157085/article/details/102691721