本文详细介绍了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不容易将端口暴露给服务器。
文章里的内容就这些了。期待对大家的学习和培训有所帮助,也期待大家的应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)