VMware自家容器作業系統 實戰Photon OS基礎安裝

若想管理好VMware虛擬化運作環境,就絕不能錯過VMware官方親手打造及整合並且最佳化運作於VMware虛擬化基礎架構的Photon OS容器平台,不管是建立、執行或管理容器都非常地簡單便利。

最後,使用「systemctl restart systemd-networkd」指令重新啟動Photon OS容器平台的網路服務,然後就可以執行「ip a」及「ip route」指令,確認剛才所設定的固定IP位址及預設閘道資訊是否正確,如圖11所示。


▲ 圖11 確認Photon OS容器平台固定IP位址及預設閘道組態設定是否正確。

最後,如圖12所示使用「systemctl status systemd-networkd -l」指令,確認Photon OS容器平台網路服務運作狀態,以及鍵入「systemctl status systemd-timesyncd -l」指令,確認Photon OS容器平台NTP時間校對服務運作狀態。


▲ 圖12 確認Photon OS容器平台網路服務及NTP時間校對服務運作狀態。

SSH遠端管理

在實務管理上,管理人員不可能會直接在Photon OS容器平台的Console畫面操作,通常都會透過SSH遠端登入進行維運管理的動作。然而,管理人員若安裝Photon OS容器平台並且組態設定好固定IP位址等網路資訊後,可能會發現雖然可以SSH遠端連線至Photon OS容器平台,但是卻無法使用Root管理者帳號登入,主要原因在於Photon OS容器平台的預設安全性設定所致。

在預設情況下,Photon OS容器平台的防火牆規則中,在安裝流程完畢便會自動啟用並僅允許SSH(TCP Port 22)能夠放行,然而對於Linux作業系統稍有管理經驗的管理人員便知,這是主機SSH遠端連線組態設定檔中不允許Root管理者帳戶遠端登入所致,而非防火牆規則未開啟所導致的問題。

管理人員若希望能夠採用Root管理者帳號遠端登入Photon OS容器平台,則必須修改SSH組態設定檔「/etc/ssh/sshd_config」內容,將預設值從「PermitRootLogin no」修改為「PermitRootLogin yes」,也就是允許Root管理者帳號可以遠端登入Photon OS容器平台,接著再重新啟動SSH系統服務,即可套用生效,如圖13所示。


▲ 圖13 組態設定讓Photon OS容器平台可透過Root管理者帳號遠端登入進行管理。


Docker容器管理服務

對於RHEL、CentOS等Linux作業系統稍有維運經驗的管理人員來說,應該會覺得Photon OS容器平台的維運管理非常類似。同時,從RHEL 7/CentOS 7版本開始,管理系統服務的方式已經從傳統的Runlevel(/etc/rc.d/init.d),改為新一代的systemd(/etc/systemd/system)方式進行系統服務的維運管理。

如圖14所示,在Photon OS容器平台中,管理人員只要使用「systemctl start docker」指令便可以啟動Docker容器管理服務,並執行「systemctl enable docker」指令,組態設定Photon OS容器平台在每次開機或重新啟動後都能夠自動啟動Docker容器管理服務。


▲ 圖14 啟動Docker容器管理服務並確認執行狀態、PID等等資訊。

最後,使用「systemctl status docker」指令來確認Docker容器管理服務的執行狀態、PID等等資訊。

然後,透過「docker info」指令查詢Docker容器管理服務的運作資訊,例如目前有多少容器執行中∕暫停中∕停止中、目前有多少容器映像檔、Docker Server的版本、Docker使用的虛擬網路、核心版本、Docker容器管理服務的根目錄等等資訊。

或者,如圖15所示使用「docker version」指令查詢目前使用的Docker Client和Docker Server版本,以及使用的API與Go語言版本資訊。


▲圖15 查詢Docker容器管理服務的運作資訊及使用版本資訊。

執行第一個容器Hello-World

至此,已經安裝好Photon OS容器平台並組態設定好網路資訊,同時也順利啟用Docker容器管理服務。那麼,就開始使用Docker容器管理技術建立第一個容器,這裡將透過Docker容器環境執行並列出字串「Hello-World」。

如圖16所示,鍵入「docker run hello-world」指令,稍後便會看到系統列出「Hello from Docker !」的字串以及相關文字資訊。事實上,可以看到從執行指令後,在第一行系統顯示的資訊中(Unable to find image 'hello-world:latest' locally),說明了系統發現目前在本機Docker映像檔存放庫中並沒有「Hello-World」這個Docker映像檔,所以系統就透過預設的系統設定連線至網際網路的Docker Hub公開映像檔存放庫,下載Hello-World這個容器映像檔(此時將自動執行「docker pull」的動作),最後執行列出字串的動作。


▲ 圖16 建立及執行第一個容器Hello-World。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!