各位大蝦好!小白我寫了一個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那裡為空,請問大神們這樣情況是什麼原因呢?
習慣沉默2017-04-26 09:03:22
EXPOSE 是開放哪些端口,這些端口在同一個網路內的服務中是可以存取的。但並非對宿主機開放。
要想在 docker ps 中看到連接埠號碼需要 docker run 的時候指定 -p 或 -P 參數,如 -p 80:8080
把容器中的 8080 連接埠對應到宿主機的 80 連接埠。
我想大声告诉你2017-04-26 09:03:22
docker ps的PORTS顯示的是docker run -p
指定的連接埠對映
EXPOSE
的意思是向其他container(而不是外部網路)開放的連接埠, 而且這個不顯示在docker ps。