首頁  >  問答  >  主體

docker不顯示連接埠對映呢?

各位大蝦好!小白我寫了一個dockerfile,內容如下:

FROM ubuntu:14.04
MAINTAINER Chris Chan "chenx1242@163.com"
ENV REFRESHED_AT 2016-12-05
RUN apt-get -y update && apt-get install -y nginx
RUN mkdir -p /var/www/html/website
ADD nginx/global.conf /etc/nginx/conf.d/
ADD nginx/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80

接著又在本地寫了一個index.html,然後啟動這個鏡像卻發現port那裡為空,請問大神們這樣情況是什麼原因呢?

世界只因有你世界只因有你2705 天前1075

全部回覆(2)我來回復

  • 習慣沉默

    習慣沉默2017-04-26 09:03:22

    EXPOSE 是開放哪些端口,這些端口在同一個網路內的服務中是可以存取的。但並非對宿主機開放。

    要想在 docker ps 中看到連接埠號碼需要 docker run 的時候指定 -p 或 -P 參數,如 -p 80:8080 把容器中的 8080 連接埠對應到宿主機的 80 連接埠。

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-26 09:03:22

    docker ps的PORTS顯示的是docker run -p指定的連接埠對映

    EXPOSE的意思是向其他container(而不是外部網路)開放的連接埠, 而且這個不顯示在docker ps。

    回覆
    0
  • 取消回覆