遠(yuǎn)程連接docker的一些網(wǎng)絡(luò)問題

docker配置遠(yuǎn)程連接

  • 官方文檔里有步驟描述襟士。
  • 一種方式是配置docker-daemon自己的配置文件:
    1. 創(chuàng)建/修改 /etc/docker/daemon.json
    2. 添加以下配置
    {
    "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
    }
  • 如果是通過 systemctl啟動的docker.service梗摇,需要配置service 啟動參數(shù)

    1. 創(chuàng)建/usr/lib/systemd/system/docker.service (優(yōu)先級更高梭域,覆蓋默認(rèn)啟動)
    2. 添加以下配置
      ExecStart=
      ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
    
    1. sudo systemctl daemon-reload
    2. sudo systemctl restart docker.service
  • 遇到的坑

    1. 官方文檔中寫的ctp://127.0.0.1:2375只能本地訪問强经。 需要改成tcp://0.0.0.0:2375糙箍。 127.0.0.1是本地接口号枕,只能本地調(diào)用懂更。 而0.0.0.0代表本機(jī)所有網(wǎng)絡(luò)接口
    2. 如果以systemctl啟動docker則不能采用daemon.json的配置方式,不然會報(bào)啟動參數(shù)與配置文件沖突竹握。默認(rèn)啟動腳本是/usr/lib/systemd/system/docker.service

防火墻配置

  • 官方文檔

  • centos7采用firewalld來配置防火墻稽莉,默認(rèn)不開放接口。官方文檔中給出的方案比較底層。這里我們采取自定義Service的方式來配置

    • 創(chuàng)建 /etc/firewalld/services/docker.xml
    • 加入以下內(nèi)容
          <?xml version="1.0" encoding="utf-8"?>
          <service>
            <short>docker</short>
            <description>docker daemon for remote access</description>
            <port protocol="tcp" port="2375"/>
          </service>
    
    • 查看默認(rèn)zone(一般是public) # firewall-cmd --get-default-zone
    • 在zone中加入這個(gè)service # firewall-cmd --zone=public --add-service=docker --permanent
    • 重新加載 # firewall-cmd --reload

docker的網(wǎng)絡(luò)原理(默認(rèn)bridge網(wǎng)絡(luò))

  • 一開始我有個(gè)疑問污秆,為何docker中運(yùn)行的容器不需要防火墻配置就可以被訪問劈猪?于是深入了解下docker橋接網(wǎng)絡(luò)的原理
  • 以我本地為例,運(yùn)行了兩個(gè)container
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                               NAMES
2a6c9ab37b39        jenkins/jenkins     "/sbin/tini -- /usr/…"   13 days ago         Up 12 hours         0.0.0.0:50000->50000/tcp, 0.0.0.0:18080->8080/tcp   jenkins
c4bf1e3daf77        registry:2          "/entrypoint.sh /etc…"   2 weeks ago         Up 12 hours         0.0.0.0:15000->5000/tcp                             registry

  • 有個(gè)叫docker-proxy的進(jìn)程會幫我們做轉(zhuǎn)發(fā)
# ps -ef  | grep docker-proxy
root      1517   754  0 07:19 ?        00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 50000 -container-ip 172.17.0.2 -container-port 50000
root      1532   754  0 07:19 ?        00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 18080 -container-ip 172.17.0.2 -container-port 8080
root      1548   754  0 07:19 ?        00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 15000 -container-ip 172.17.0.3 -container-port 5000
root      5332  4555  0 19:29 pts/0    00:00:00 grep --color=auto docker-proxy
  • docker啟動時(shí)會修改iptables規(guī)則良拼,在forward chain中加入自己的規(guī)則
# iptables -L -n
Chain FORWARD (policy DROP)
target     prot opt source               destination
DOCKER-USER  all  --  0.0.0.0/0            0.0.0.0/0
DOCKER-ISOLATION-STAGE-1  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
DOCKER     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
FORWARD_direct  all  --  0.0.0.0/0            0.0.0.0/0
FORWARD_IN_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0
FORWARD_IN_ZONES  all  --  0.0.0.0/0            0.0.0.0/0
FORWARD_OUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0
FORWARD_OUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited


Chain DOCKER (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:50000
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:8080
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.3           tcp dpt:5000

  • 順便提一下战得,firewall也是通過類似嵌入自定義鏈來實(shí)現(xiàn)的
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
INPUT_direct  all  --  0.0.0.0/0            0.0.0.0/0
INPUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0
INPUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain INPUT_ZONES (1 references)
target     prot opt source               destination
IN_public  all  --  0.0.0.0/0            0.0.0.0/0           [goto]
IN_public  all  --  0.0.0.0/0            0.0.0.0/0           [goto]

Chain IN_public (2 references)
target     prot opt source               destination
IN_public_log  all  --  0.0.0.0/0            0.0.0.0/0
IN_public_deny  all  --  0.0.0.0/0            0.0.0.0/0
IN_public_allow  all  --  0.0.0.0/0            0.0.0.0/0

Chain IN_public_allow (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:2375 ctstate NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306 ctstate NEW

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市庸推,隨后出現(xiàn)的幾起案子常侦,更是在濱河造成了極大的恐慌,老刑警劉巖贬媒,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件聋亡,死亡現(xiàn)場離奇詭異,居然都是意外死亡际乘,警方通過查閱死者的電腦和手機(jī)坡倔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脖含,“玉大人罪塔,你說我怎么就攤上這事⊙” “怎么了征堪?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長关拒。 經(jīng)常有香客問我佃蚜,道長,這世上最難降的妖魔是什么着绊? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任谐算,我火速辦了婚禮,結(jié)果婚禮上畔柔,老公的妹妹穿的比我還像新娘。我一直安慰自己臣樱,他們只是感情好靶擦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著雇毫,像睡著了一般玄捕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上棚放,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天枚粘,我揣著相機(jī)與錄音,去河邊找鬼飘蚯。 笑死馍迄,一個(gè)胖子當(dāng)著我的面吹牛福也,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播攀圈,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼暴凑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了赘来?” 一聲冷哼從身側(cè)響起现喳,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎犬辰,沒想到半個(gè)月后嗦篱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幌缝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年灸促,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狮腿。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腿宰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缘厢,到底是詐尸還是另有隱情吃度,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布贴硫,位于F島的核電站椿每,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏英遭。R本人自食惡果不足惜间护,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挖诸。 院中可真熱鬧汁尺,春花似錦、人聲如沸多律。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狼荞。三九已至辽装,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間相味,已是汗流浹背拾积。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拓巧。 一個(gè)月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓斯碌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親玲销。 傳聞我的和親對象是個(gè)殘疾皇子输拇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Docker從2013年發(fā)布第一個(gè)版本以來,已經(jīng)火遍全球贤斜,技術(shù)迭代也比較頻繁策吠,其周邊產(chǎn)品和技術(shù)也越來越豐富。Doc...
    歸海聽雪閱讀 12,285評論 7 44
  • 第一本Docker書 自動精簡配置: thin-provisioning加載device-mapper模塊sudo...
    崩芭大醬閱讀 2,181評論 0 16
  • 一 瘩绒、什么是 Docker Docker 最初是 dotCloud 公司創(chuàng)始人 Solomon Hykes 在法國...
    Blazzer閱讀 3,140評論 0 13
  • 蘭州外國語學(xué)校八年級 林夕(筆名) 清晨猴抹,正當(dāng)太陽被薄似紗的云籠罩,放出些許耀眼的白光锁荔。 空氣還算...
    淡淡派清淺閱讀 686評論 1 5
  • 上午和墻地磚設(shè)計(jì)師定下了方案蟀给,專業(yè)的人做專業(yè)的事,確實(shí)不錯(cuò)阳堕。這位設(shè)計(jì)師從業(yè)二十余年跋理,交談間很有親和力,不像銷售那種...
    顧鳴芬閱讀 145評論 0 0