日期:2021/7/20(星期二)

    :::info 1、network管理

    :::

    • 创建network

      1. 语法:docker network create networkName
    • 查看指定的network

      1. 语法:docker network inspect networkName
    • 删除指定的network

      1. 语法:docker network rm networkName

    🎉 docker network - 图1

    __

    __

    语法:从镜像mysql 5.7版本启动一个容器实例mysql-57,并设置该容器的mysql root密码为123456。

    🎉 docker network - 图2

    :::danger 2、下载mysql:5.7镜像

    :::

    🎉 docker network - 图3

    :::success 3、基于mysql:5.7创建容器

    :::

    • 将该容器实例添加到网络wifi
    • 给网络起别名mysql
    • 自动创建卷宗mysql-volume并与容器内目录/var/lib/mysql做绑定
    • 给该容器内的mysql服务设置root用户密码为123456

    🎉 docker network - 图4

    • 验证容器创建正确

    🎉 docker network - 图5

    :::info 4、创建新容器通过wifi网络与mysql57容器通信

    :::

    • docker run —name mysql-client -it —network wifi mysql:5.7 mysql -hmysql57 -uroot -p

      1. (注意:不加--rm参数,quit后,mysql-client实例仍然存在)

    🎉 docker network - 图6

    🎉 docker network - 图7

    • docker run —name mysql-client -it —rm —network wifi mysql:5.7 mysql -hmysql57 -uroot -p

      (注意:加—rm参数,quit后,mysql-client实例被销毁)

    🎉 docker network - 图8

    🎉 docker network - 图9

    • 若不通过网络wifi通信,可以发现mysql-client容器无法找到容器mysql57,容器间无法通信

    🎉 docker network - 图10

    :::success 5、在mysql57容器新增数据库db1

    :::

    • docker exec -it mysql57 mysql -uroot -p
    • create database db1;

    🎉 docker network - 图11

    :::info 6、在mysql-client查看mysql57的数据库

    :::

    • 可以发现在mysql57容器创建的数据库已经添加成功,mysql-client容器通过wifi网络查看到db1

    🎉 docker network - 图12

    :::tips 7、网络辅助工具

    :::

    • netshoot可以帮忙查找网络问题
    • 前面创建容器mysql57的时候加的参数—network-alias mysql别名,就是用于探查mysql57容器网络
    • dig mysql就是—network-alias mysql

    🎉 docker network - 图13

    • 创建一个新的mysql服务容器实例,主机用3307端口绑定到容器内mysql端口3306

    🎉 docker network - 图14

    • 通过工具连接到容器内mysql数据库,注意Port是主机的3307

    🎉 docker network - 图15

    • 通过命令连接到容器内mysql数据库

    🎉 docker network - 图16