docker容器之间怎么实现互联,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一、随机映射:端口不会冲突。-P(大P)
[root@tcy1 tcy]# docker run -P -d --name mynginx1 nginx 72decf04199f8ca77d0c59351cc04a360c125b1bd5a949a31c572bda8ca0486a
映射关系如下:把docker的80端口,映射到了主机的32768端口。
[root@tcy1 tcy]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72decf04199f nginx "nginx -g 'daemon of 12 seconds ago Up 7 seconds 0.0.0.0:32768->80/tcp mynginx1
二、指定端口:
1、HostPort:ContainerPort
HostPort是本地的端口,ContainerPort是容器里的端口。
[root@tcy1 tcy]# docker run -d -p 92:80 --name mynginx2 nginx f1a2dc37908b7e612df81301b068d2ee88bb49f79dd23eab12eb02172e5d7fe1
[root@tcy1 tcy]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f1a2dc37908b nginx "nginx -g 'daemon of About a minute ago Up About a minute 0.0.0.0:92->80/tcp mynginx2
2、IP:HostPort:ContainerPort,映射到指定地址的指定端口
docker run -d -p 127.0.0.1:92:80 --name mynginx2 nginx
3、IP::ContainerPort,映射到指定地址的任意端口
docker run -d -p 127.0.0.1::80 --name mynginx2 nginx
三、容器互联
容器互联是一种让多个容器中应用进行快速交互的方式。它会在源和接受容器之间创建连接关系,接受容器可以通过容器名快速访问到源容器,而不用指定具体的IP地址。连接系统依据容器的名称来执行。
1、随机映射:端口不会冲突。-P(大P)
[root@tcy1 tcy]# docker run -P -d --name mynginx1 nginx 72decf04199f8ca77d0c59351cc04a360c125b1bd5a949a31c572bda8ca0486a
映射关系如下:把docker的80端口,映射到了主机的32768端口。
[root@tcy1 tcy]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72decf04199f nginx "nginx -g 'daemon of 12 seconds ago Up 7 seconds 0.0.0.0:32768->80/tcp mynginx1
2、指定端口:91是主机的端口,80是容器里的端口。
[root@tcy1 tcy]# docker run -d -p 92:80 --name mynginx2 nginx f1a2dc37908b7e612df81301b068d2ee88bb49f79dd23eab12eb02172e5d7fe1 [root@tcy1 tcy]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f1a2dc37908b nginx "nginx -g 'daemon of About a minute ago Up About a minute 0.0.0.0:92->80/tcp mynginx2
看完上述内容,你们掌握docker容器之间怎么实现互联的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。