亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

每個docker一個ip地址嗎?

每個docker一個ip地址嗎?

翻翻過去那場雪 2021-02-08 14:06:01
每個docker一個ip地址嗎
查看完整描述

2 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

docker run創建Docker contains時,可以用--net選項指定容器的網絡模式,Docker有以下4種網絡模式:
host模式,使用--net=host指定。
container模式,使用--net=container:NAME_or_ID指定。
none模式,使用--net=none指定。
bridge模式,使用--net=bridge指定,默認設置。containers啟動后會通過DHCP獲取一個地址.

網絡:em1是內網,em2是外網(設置本次外網ip是1.1.1.3),docker0是docker的橋接網卡
獨立ip:設置本次獨立ip是1.1.1.4
操作方法:
1、為獨立ip與外網卡em2做網卡別名
ifconfig em2:0 1.1.1.4 netmask 255.255.255.0 up
2、啟動新容器
docker run --restart always --privileged -d --name='test' docker.com:5000/centos6-http:new /usr/bin/supervisord
3. 獲取容器ip
docker inspect test|grep -i add
比如本次獲取的ip是172.17.0.5
在宿主機的iptables里做dnat映射

默認的input、output、forward我不做設置,僅設置nat
*nat
:PREROUTING ACCEPT [15:1542]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -j MASQUERADE
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A DOCKER -d 1.1.1.4 ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.5:80
-A DOCKER -d 1.1.1.4 ! -i docker0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.17.0.5:443
COMMIT
其中-A DOCKER是做的dnat設置,-d是指定訪問的外網ip地址,就是我剛才1.1.1.4,另外dport是允許訪問的端口,--to-destination是容器的ip與內部端口



查看完整回答
反對 回復 2021-03-28
  • 2 回答
  • 0 關注
  • 891 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號