鍍金池/ 問答/C  Linux/ docker不設(shè)置端口映射就不可以外部訪問嗎

docker不設(shè)置端口映射就不可以外部訪問嗎

在弄小米的open-falcon,其中有個部件是從docker取回來的。
按照教程,執(zhí)行了docker的:

# make the image,run commands under dir of dashboard:
docker build -t falcon-dashboard:v1.0 .

# start the container
docker run -itd --name aaa --net host \
    -e API_ADDR=http://127.0.0.1:8080/api/v1 \
    -e PORTAL_DB_HOST=127.0.0.1 \
    -e PORTAL_DB_PORT=3306 \
    -e PORTAL_DB_USER=root \
    -e PORTAL_DB_PASS=123456 \
    -e PORTAL_DB_NAME=falcon_portal \
    -e ALARM_DB_PASS=123456 \
    -e ALARM_DB_HOST=127.0.0.1 \
    -e ALARM_DB_PORT=3306 \
    -e ALARM_DB_USER=root \
    -e ALARM_DB_PASS=123456 \
    -e ALARM_DB_NAME=alarms \
    falcon-dashboard:v1.0

從上面命令中,并沒有看到-p用于綁定端口映射的東西,但是不知為何,依然可以請求到docker這個容器里面的某個項目的端口。
好奇怪。

回答
編輯回答
撿肥皂

--net選項已經(jīng)設(shè)置了docker的網(wǎng)絡(luò),參見network settings
network可以自定義網(wǎng)絡(luò),連接相同網(wǎng)絡(luò)的docker可以相互通信。

2018年1月10日 22:17
編輯回答
墨小羽

你還是沒注意看命令


host模式
host它可以與主機共享Root Network Namespace,容器有完整的權(quán)限操縱主機的網(wǎng)絡(luò)配置,出于安全考慮,不推薦使用這種模式。
啟動host模式非常簡單,依舊是在docker run中加入--net=host參數(shù)即可。

另外,還有none模式、container模式、bridge模式(默認模式)、overlay模式

2018年6月19日 00:55