docker-compose ports和expose的区别详解

docker-compose ports和expose的区别详解,第1张

docker-composeports和expose的区别详解

本文详细介绍了docker-compose端口和expose端口的区别。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

有两种方法可以在docker-compose中公开容器的端口:ports和expose。

端口

Ports将容器端口暴露给服务器的任意端口或特定端口。如何使用它:

ports: -"80:80"#绑定容器的80端口到服务器的80端口 -"9000:8080"#绑定容器的8080端口到服务器的9000端口 -"443"#绑定容器的443端口到服务器的随意端口,容器启动任意分派绑定的服务器端口

无论是否是特定的服务器端口,应用端口都会将端口暴露给服务器。

容器可以 *** 作一些网络技术应用,让外界可以浏览这个应用,可以根据-p(英文大写)或者-P(小写字母)的主要参数来投射特定的端口。

(1)应用-P标识时,Docker会任意投射一个49000~49900的端口到内部容器对外开放的internet端口。

应用dockerps可以看到本地服务器的49155被投射到容器的5000端口。此时,浏览设备的端口49155可以浏览容器中web应用程序显示的页面。

$sudodockerrun-d-Ptraining/webapppythonapp.py $sudodockerps-l CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES bc533791f3f5training/webapp:latestpythonapp.py5secondsagoUp2seconds0.0.0.0:49155->5000/tcpnostalgic_morse

同样,可以根据docker日志指令查询所使用的信息内容。

$sudodockerlogs-fnostalgic_morse *Runningonhttp://0.0.0.0:5000/ 10.0.2.2--[23/May/201420:16:31]"GET/HTTP/1.1"200- 10.0.2.2--[23/May/201420:16:31]"GET/favicon.icoHTTP/1.1"404-

(2)-p(小写字母)可以指定要投射的IP和端口,但是一个特定的端口只能绑定一个容器。适用的文件格式是hostPort:containerPort、ip:hostPort:containerPort和ip::containerPort。

暴露

使用以下方法,将容器公开到指向当前容器的容器链接:

expose: -"3000" -"8000"

上面的命令将当前容器的端口3000和8000暴露给到该容器的容器链接。

与端口不同,expose不容易将端口暴露给服务器。

文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存