docker不顯示端口映射呢?
問題描述
各位大蝦好!小白我寫了一個dockerfile,內容如下:
FROM ubuntu:14.04MAINTAINER Chris Chan '[email protected]'ENV REFRESHED_AT 2016-12-05RUN apt-get -y update && apt-get install -y nginxRUN mkdir -p /var/www/html/websiteADD nginx/global.conf /etc/nginx/conf.d/ADD nginx/nginx.conf /etc/nginx/nginx.confEXPOSE 80
然后又在本地寫了一個index.html,然后啟動這個鏡像卻發(fā)現(xiàn)port那里為空,請問大神們這樣情況是什么原因呢?
問題解答
回答1:EXPOSE 是開放哪些端口,這些端口在同一個網(wǎng)絡內的服務中是可以訪問的。但并不對宿主機開放。
要想在 docker ps 中看到端口號需要 docker run 的時候指定 -p 或 -P 參數(shù),如 -p 80:8080 把容器中的 8080 端口映射到宿主機的 80 端口。
回答2:docker ps的PORTS顯示的是docker run -p指定的端口映射
EXPOSE的意思是向其他container(而不是外部網(wǎng)絡)開放的端口, 而且這個不顯示在docker ps。
相關文章:
1. PHP不確定層級數(shù)量的循環(huán)嵌套用什么思路解決?2. ios - AsyncSocket是否可以自動拆包?java后臺又如何識別?3. 關于Java中的序列化與反序列化4. mysql - 百萬行的表中是否盡量避免使用update等sql語句?5. 前端 - css3中,這樣的代碼為什么會顯示成圖片?6. css3 - 圖文響應式樣式7. python - flask sqlalchemy signals 無法觸發(fā)8. mysql begin work語句是干嘛的?9. mysql - 大部分數(shù)據(jù)沒有行溢出的text字段是否需要拆表10. Java局部變量為什么要初始化
