dockerfile中EXPOSE的含义是什么-创新互联

这篇文章给大家分享的是有关dockerfile中EXPOSE的含义是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的榕江网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

使用本地dockerfile构建镜像,dockerfile的内容:EXPOSE3000构建完成后执行:dockerrun-p3000:3000-dnginx:v0在浏览器中输入localhost:3000,访问不到服务。

关于EXPOSE的解释

EXPOSE指令是声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务。

好想明白了,你理解的EXPOSE和权威给出的解释不是一个意思。

nginx运行的时候对外提供的端口默认是80,即便你在这里声明了3000,也不会改变默认的端口80。

这个EXPOSE毛线用都没有,一般是镜像创建者书写的,一旦写错了,就会误导用户,将人带到坑里。

因此,在声明EXPOSE的时候,一定要实现查明当前容器默认的服务端口。

dockerfile中的EXPOSE的含义

怎么查nginx默认的端口呢?取nginx.config文件中去查。

首先进入到nginx容器中:dockerexec-it412a3bcbac7f/bin/bash

然后查询nginx配置文件:whereisnginx.config

进入配置文件cd/etc/nginx所在目录,查看nginx.config文件文件

http{

include/etc/nginx/mime.types;

default_typeapplication/octet-stream;

log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'

'$status$body_bytes_sent"$http_referer"'

'"$http_user_agent""$http_x_forwarded_for"';

access_log/var/log/nginx/access.logmain;

sendfileon;

#tcp_nopushon;

keepalive_timeout65;

#gzipon;

include/etc/nginx/conf.d/*.conf;

}

没有找到端口,但是在文件尾部存在include/etc/nginx/conf.d/*.conf;

直接查看这个文件。

感谢各位的阅读!关于“dockerfile中EXPOSE的含义是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


本文名称:dockerfile中EXPOSE的含义是什么-创新互联
本文路径:http://ybzwz.com/article/csjdhp.html