![](/img/trans.png)
[英]Is it possible to unexpose port by Docker Compose if it is exposed in Dockerfile?
[英]Is there a way to unexpose a port in Dockerfile?
我正在嘗試通過 docker 圖像在我們的企業雲中部署一個 mosquitto MQTT 代理。 允許暴露的端口在10000-10999范圍內。 默認情況下,eclipse-mosquitto 圖像公開端口 1883。有沒有辦法取消公開端口 1883 並公開 10883? 這是我的Dockerfile :
FROM eclipse-mosquitto:latest
COPY mosquitto.conf /mosquitto/config/
COPY docker-entrypoint.sh mosquitto-no-auth.conf /
EXPOSE 10883
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]
僅僅因為容器公開了端口 1883,並不意味着您需要使用該端口來訪問正在運行的實例。
當您使用docker run
命令啟動容器時,您可以決定將主機上的哪個端口映射到容器上的該端口。
例如
docker run -d -p 10883:1883 eclipse-mosquitto
這會將主機上的端口 10883 和容器上的 map 端口暴露給 1883。
dockerfile 中的“公開”是一種元數據,它告訴您應該使用哪個端口。 它不打開任何端口。 所以你可以很容易地打開你想要的任何端口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.