第十四屆 冠軍

devops
那些關於 docker 你知道與不知道的事
小賴

系列文章

DAY 21

Day 21: container 裡誰是 PID 1 有差嗎?

昨天我們用 Dockerfile 做了兩個在 Ubuntu sleep 的 image,他們分別用了不同的執行命令的方式: exec mode CMD [&...

DAY 22

Day 22: Ubuntu 的 /bin/sh 怎麼了?

如題,為什麼在討論 shell mode 的時候要一直提醒我們實驗的 base image 是 Ubuntu 呢?如果換成 alpine 會怎麼樣呢? 現在先來...

DAY 23

Day 23: container 怎麼跟別人溝通呢?

我們終於「擺脫」process 的討論啦,接下來就讓我們進入網路的世界,我們在用 docker run 啟動 container 時,可以透過 --networ...

DAY 24

Day 24: 什麼是 veth pair?

昨天我們在觀察 bridge 時,有注意到 container 中的網路介面與 host 中多出來的網路介面在名稱上似乎有關聯如下: 我們猜測的沒錯,他們的確...

DAY 25

Day 25: 來過橋吧!

昨天我們做了一個小實驗,建立了一對 veth,並且分別把他們放在不同的 net namespace,透過 ping 指令驗證了 veth 可以可以幫我們進行跨...

DAY 26

Day 26: 真的過橋了!

昨天我們做這樣的架構: 卻發現無法地成功從 ns1 ping 到 ns2,上網查了一下,有的說是因為 veth0 跟 veth1 處於同一個網段,且第一次連接,...

DAY 27

Day 27: 讓我們出海去...欸,等一下,只能先國內旅遊...

到昨天為止,我們建立以下架構,並且也透過 tcpdump 觀察到封包的流向: 但到目前為止,ns1 跟 ns2 都還是出不去,別說出不去,連 host 都無法溝...

DAY 28

Day 28: 為什麼出不了國呢?

昨天我們走到了這裡,成功地讓 ns 可以跟 host (root namespace) 溝通: 但我們發現,還是無法跟 host 以外的網路溝通,很出現的錯誤訊...

DAY 29

Day 29: 讓我們出國去

昨天我們試著錄封包,並由此觀察到封包是有從 ns 送到 docker1,再由 docker1 送到 host 的 ens5,最後由 ens5 在送出去,同時我們...

DAY 30

Day 30: 讓我們關掉無條件轉發吧 & 完賽感想

昨天最後有提到,我們到目前為止,可以過橋跟出國是為我們把 FORWARD policy 設定成 ACCEPT,但其實安裝 Docker 以後,他是設定成 DRO...