共計(jì) 1709 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。
這篇文章給大家介紹如何在 Fedora 32 上運(yùn)行 Docker,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
隨著 Fedora 32 的發(fā)布,Docker 的普通用戶面臨著一個(gè)小挑戰(zhàn)。在編寫本文時(shí),F(xiàn)edora 32 不支持 Docker。雖然還有其他選擇,例如 Podman 和 Buildah,但是對(duì)于許多現(xiàn)有用戶而言,現(xiàn)在切換可能不是最佳時(shí)機(jī)。因此,本文可以幫助你在 Fedora 32 上設(shè)置 Docker 環(huán)境。
步驟 0:消除沖突
此步驟適用于從 Fedora 30 或 31 升級(jí)的任何用戶。如果全新安裝的 Fedora 32,那么可以跳到步驟 1。
刪除 docker 及其所有相關(guān)組件:
sudo dnf remove docker-*sudo dnf config-manager --disable docker-*
步驟 1:系統(tǒng)準(zhǔn)備
在 Fedora 的最后兩個(gè)版本中,操作系統(tǒng)已遷移到兩項(xiàng)新技術(shù):CGroups 和用于防火墻的 NFTables。盡管這些新技術(shù)的詳細(xì)信息不在本教程的討論范圍之內(nèi),但是令人遺憾的是,Docker 還不支持這些新技術(shù)。因此,你必須進(jìn)行一些更改才能在 Fedora 上使用 Docker。
啟用舊的 CGroups
Fedora 仍然支持 CGroups 的先前實(shí)現(xiàn),可以使用以下命令啟用它:
sudo grubby --update-kernel=ALL --args= systemd.unified_cgroup_hierarchy=0
在防火墻中將 Docker 列入白名單
為了讓 Docker 具有網(wǎng)絡(luò)訪問權(quán)限,需要兩個(gè)命令:
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0sudo firewall-cmd --permanent --zone=FedoraWorkstation --add-masquerade
第一個(gè)命令將 Docker 接口添加到受信任的環(huán)境,它允許 Docker 建立遠(yuǎn)程連接。第二個(gè)命令將允許 Docker 建立本地連接。當(dāng)有多個(gè) Docker 容器作為開發(fā)環(huán)境時(shí),這特別有用。
步驟 2:安裝 Moby
Moby 是 Docker 的開源白牌版本。它基于相同的代碼,但不帶商標(biāo)。它包含在 Fedora 的主倉(cāng)庫(kù)中,因此很容易安裝:
sudo dnf install moby-engine docker-compose
這將安裝 moby-engine、docker-compose、containerd 和其他一些相關(guān)的庫(kù)。安裝完成后,你必須啟用系統(tǒng)級(jí)守護(hù)程序才能運(yùn)行 Docker:
sudo systemctl enable docker
步驟 3:重新啟動(dòng)并測(cè)試
為了確保正確處理所有系統(tǒng)和設(shè)置,你現(xiàn)在必須重啟計(jì)算機(jī):
sudo systemctl reboot
之后,你可以使用 Docker hello-world 包來(lái)驗(yàn)證安裝:
sudo docker run hello-world
除非遇到問題,不然你就會(huì)看到來(lái)自 Docker 的問候!
以管理員身份運(yùn)行
可選地,你現(xiàn)在還可以將用戶添加到 Docker 的組帳戶中,以便無(wú)需輸入 sudo 即可啟動(dòng) Docker 鏡像:
sudo groupadd dockersudo usermod -aG docker $USER
注銷并登錄以使更改生效。如果以管理員權(quán)限運(yùn)行容器的想法讓你有所顧慮,那么你應(yīng)該研究 Podman。
總結(jié)
從現(xiàn)在起,Docker 將按照你的習(xí)慣工作,包括 docker-compose 和所有與 docker 相關(guān)的工具。不要忘記查看官方文檔,這在很多情況下可以為你提供幫助。
Fedora 32 上 Docker 的當(dāng)前狀態(tài)并不理想。缺少官方軟件包可能會(huì)困擾一些人,有一個(gè)上游問題對(duì)此進(jìn)行了討論。對(duì) CGroups 和 NFTables 缺少支持更多是技術(shù)問題,但是你可以查看它們?cè)谄涔矄栴}上的進(jìn)展。這些指導(dǎo)應(yīng)可以讓你就像什么都沒有發(fā)生一樣繼續(xù)工作。
關(guān)于如何在 Fedora 32 上運(yùn)行 Docker 就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。