docker 實踐

https://doc.yonyoucloud.com/doc/docker_practice/etcd/etcdctl.htmlhtml

 

啓動 http restful APIgit

 

 

 

docker批量映射端口

怎麼映射宿主端口?Dockerfile 中的EXPOSE和 docker run -p 有啥區別? docker

 

Docker中有兩個概念,一個叫作 EXPOSE ,一個叫作 PUBLISH 。bash

 

EXPOSE 是鏡像/容器聲明要暴露該端口,能夠供其餘容器使用。這種聲明,在沒有設定 --icc=false的時候,實際上只是一種標註,並不強制。也就是說,沒有聲明 EXPOSE 的端口,其它容器也能夠訪問。可是當強制 --icc=false 的時候,那麼只有 EXPOSE 的端口,其它容器才能夠訪問。restful

PUBLISH 則是經過映射宿主端口,將容器的端口公開於外界,也就是說宿主以外的機器,能夠經過訪問宿主IP及對應的該映射端口,訪問到容器對應端口,從而使用容器服務。網絡

EXPOSE 的端口能夠不 PUBLISH,這樣只有容器間能夠訪問,宿主以外沒法訪問。而 PUBLISH 的端口,能夠不事先 EXPOSE,換句話說 PUBLISH 等於同時隱式定義了該端口要 EXPOSE。app

 

docker run 命令中的 -p, -P 參數,以及 docker-compose.yml 中的  ports 部分,實際上均是指 PUBLISH。post

 

小寫 -p 是端口映射,格式爲 [宿主IP:]<宿主端口>:<容器端口>,其中宿主端口和容器端口,既能夠是一個數字,也能夠是一個範圍,好比:1000-2000:1000-2000。對於多宿主的機器,能夠指定宿主IP,不指定宿主IP時,守護全部接口。ui

 

大寫 -P 則是自動映射,將全部定義 EXPOSE 的端口,隨機映射到宿主的某個端口。spa

 

-p 是能夠用範圍的:

Bash
-p 8001-8010:8001-8010

 

 

Docker 30天 介紹怎麼使用API

Docker 相關API

Template

EXPOSE 聲明端口

Docker網絡原則入門:EXPOSE,-p,-P,-link

容器訪問控制

外部訪問容器

Docker手動修改Iptables添加端口映射

網絡虛擬化文章

docker動態映射運行的container端口

使用iptables管理docker容器作端口映射網絡

相關文章
相關標籤/搜索