温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

dockerfile中EXPOSE的含义是什么

发布时间:2021-09-22 14:53:05 来源:亿速云 阅读:575 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关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的含义是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI