Docker:容器网络互联

Docker:容器网络互联

  • 1. 网络
  • 2. 自定义网络

1. 网络

默认情况下,所有容器都是以bridge方式连接到Docker的一个虚拟网桥上:

Docker:容器网络互联_第1张图片

[root@172 demo]# docker inspect mysql

Docker:容器网络互联_第2张图片

[root@172 demo]# docker inspect dd
Docker:容器网络互联_第3张图片

在dd容器中ping mysql

Docker:容器网络互联_第4张图片

但是存在问题:每个容器的ip地址是Docker网桥分配的,如果服务重新启动,或重启过程其他服务启动,ip会产生变动。

2. 自定义网络

ip addr
Docker:容器网络互联_第5张图片

加入自定义网络的容器才可以通过容器名互相访问,Docker的网络操作命令如下:

命令 说明
docker network create 创建一个网络
docker network ls 查看所有网络
docker network rm 删除指定网络
docker network prune 清除未使用的网络
docker network connect 使指定容器连接加入某网络
docker network disconnect 使指定容器连接离开某网络
docker network inspect 查看网络详细信息

创建一个docker网络,自定义名字fz
在这里插入图片描述
查看网络 docker network ls
Docker:容器网络互联_第6张图片
ip addr
Docker:容器网络互联_第7张图片

让mysql容器链接到fz网络
在这里插入图片描述

[root@172 demo]# docker inspect mysql
Docker:容器网络互联_第8张图片

创建一个容器一开启就连接fz网络

  • [root@172 demo]# docker rm -f dd 删除dd容器
  • [root@172 demo]# docker run -d --name dd -p 8080:8080 --network fz docker-demo:1.0 创建dd容器并一开始加入fz网络
    在这里插入图片描述
    [root@172 demo]# docker inspect ddDocker:容器网络互联_第9张图片
    进入dd容器ping mysql
    Docker:容器网络互联_第10张图片
    Docker:容器网络互联_第11张图片

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