• docker 之间相互通讯


    方式一:通过IP直接访问(不推荐)

    查询容器对应的IP命令:

    docker inspect 容器 | grep  IPAddress

    通过docker容器启动的实例分配的ip地址,直接访问,docker重启时IP会发生变化,所以不推荐

    方式二:通过端口映射把docker暴露到外部,直接通过外部ip地址访问(不推荐)

    这种方式不安全,只有暴露到外部需要访问才用 如: nginx pethome fastdfs ,对于: redis ,mysql elasticsearch 就不应该暴露,这种方式使我们直接暴露IP端口,在项目中直接写死我们本机的ip加上映射端口,这样我们就不用频繁的更换ip,但是ip也是写死的也不推荐

    方式三:通过链接的形式(推荐)

    启动容器的时候,给要通信的目标容器使用link指定一个“链接名”,在容器中就可以使用“链接名”和目标容器通信。

    具体步骤如下:

    docker network Commands:

    create            Create a network(创建一个网络)

    connect         Connect a container to a network(将容器连接至网络)

    disconnect     Disconnect a container from a network(将容器从某网络断开)

    inspect           Display detailed information on one or more networks(显示一个或多个网络的详细信息) ls List networks(列出所有网络)

    rm                  Remove one or more networks(删除一个或多个网络)

    3.1:查看当前网络

    docker network ls

    3.2:创建一个bridge的网络(如不加参数,默认创建的就是bridge类型的网络)

    docker network create my_net

     

    3.3:将容器加入到新建的网络中

    3.3.1:启动容器时指定网络

    docker run -d --network my_net

    3.3.2:将已启动的应用连接至网络

    注意 mysql8 是容器名字

    docker network connect my_net mysql8

     3.4:查看该网络的详细信息

    docker network inspect my_net

    可以看到mysql8已经加入到my_net网络了,如果其他容器需要访问mysql8的话,将容器加入到my_net即可实现容器之间的相互访问

     

  • 相关阅读:
    项目管理证书 PMP 的含金量高吗?
    MySQL函数(经典收藏)
    uniapp 单选框以及多选框样式更改
    Vue3待办列表-日记与便签-LOL英雄资料-课程大作业
    被华为、阿里等知名4位一线技术专家联手吹爆的SSM实战文档
    【华为OD:C++机试】Day-1
    提高matlab运算效率——预分配内存
    安卓终端神器Termux (后面还有Termux常用的快捷键,妥妥干货分享,记得点赞收藏哦!)
    大厂FPGA的面试题
    2、Windows下安装
  • 原文地址:https://blog.csdn.net/qq_36793589/article/details/128069675