小编JT.*_*JT.的帖子

如果我在Dockerfile中使用EXPOSE $ PORT,我可以在使用docker run时取消暴露该端口吗?

我正在为使用nginx-proxy容器的Web应用程序开发Dockerfile 。它还具有一个用于执行应用程序域内容(创建/修改数据库,运行清理作业等)的CLI。

在99%的情况下,启动容器时,我想使用webapp。我EXPOSE 3000在Dockerfile中有一个,对于NGINX-proxy来说效果很好。Nginx的代理用途泊坞窗根,它侦听码头工人start和stop事件和NGINX配置基础上暴露的端口重新建立。

当我想运行基于CLI的容器时,就会出现问题。我不想要EXPOSE 3000。我要取消公开端口3000,因此NGINX-proxy不会更改NGINX配置。

这是可能的docker run吗?阅读文档并不清楚,尝试docker run -p ''也没有用(我得到了一个docker: No port specified: ::<empty>.错误)。

老实说,这有点无聊,没什么大不了的。我可以带EXPOSE 3000出Dockerfile的,只是做-p 3000在命令行上。我只是喜欢将其包含在Dockerfile中,因此默认情况下它是打开的,我只需要在少数情况下将其关闭即可。

我也知道我可以使用从第一个继承的第二个Dockerfile。

我只是想知道是否可以在发布时取消发布在Dockerfile中公开的端口docker run(或者可能在docker -compose中)。

docker dockerfile

5
推荐指数
2
解决办法
2496
查看次数

标签 统计

docker ×1

dockerfile ×1