学弟教程-Docker-容器间通信

一、–link命令

1.1 容器互ping

拉取镜像

docker pull busybox

建立名为box_1的容器

docker run -itd --name box_1 busybox /bin/sh

建立名为box_2的容器,并且link到box_1容器

docker run -itd --name box_2 --link box_1 busybox /bin/sh

获取容器的IP地址

docker exec -it <container name> ip a|grep 172

box_1容器IP : 172.17.0.2 ; box_2 容器IP : 172.17.0.3

使用box_1容器ping box_2容器

1.2 跨容器访问

建立一个ubuntu容器,使用–link命令连接建立的mysql容器,实现从ubuntu容器中访问mysql服务

建立MySQL容器

docker run -itd --name mysql_server -e MYSQL_ROOT_PASSWORD=123 mysql:5.7

建立ubuntu容器

docker run -itd --name ubuntu_demo --link mysql_server:db ubuntu

进入ubuntu容器,安装mysql-client

docker exec -it uubuntu_demo bash

apt-get update

apt-get install -y mysql-client

登录mysql服务

mysql -h db -u root -p123
  • h : 主机地址,db 使用–link命令时为mysql_server设置的别名
  • p : 创建mysql容器时设置的密码

二、网络互联

查看当前docker 可使用网络

docker network ls

创建一个docker网络my_bridge

docker network create -d bridge my_bridge
  • d : 指定类型

新建容器box_3,使用my_bridge网络

docker run -itd --name box_3 --network my_bridge  busybox /bin/sh

可看到box_3容器的IP为172.18.0.2,与之前创建的容器网段不同

再建立容器box_4,使用my_bridge网络

box_3 ping box_4

box_4 ping box_3


猜你喜欢

转载自blog.csdn.net/qq_41452937/article/details/107594589