方式一:通过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即可实现容器之间的相互访问文章来源:https://www.toymoban.com/news/detail-516399.html
文章来源地址https://www.toymoban.com/news/detail-516399.html
到了这里,关于docker 之间相互通讯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!