当前位置:   article > 正文

docker 之间相互通讯_docker访问外部端口

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即可实现容器之间的相互访问

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/87585
推荐阅读
相关标签
  

闽ICP备14008679号