最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker在Ubuntu中的部署全流程

 更新時間:2024年03月19日 08:56:05   作者:瘋狂學(xué)習(xí)GIS  
本文介紹在Linux操作系統(tǒng)Ubuntu的18.04及以上版本中,配置開源容器化平臺和工具集Docker的詳細(xì)方法,其中,我們以配置Docker平臺的核心組件之一Docker Engine為例來詳細(xì)介紹,需要的朋友可以參考下

本文介紹在Linux操作系統(tǒng)Ubuntu18.04及以上版本中,配置開源容器化平臺和工具集Docker的詳細(xì)方法;其中,我們以配置Docker平臺的核心組件之一——Docker Engine為例來詳細(xì)介紹。

首先,大家需要明確,我們常說的Docker,其實就是指的Docker DesktopDocker Engine這兩個東西。其中,Docker Desktop軟件是適合于桌面操作系統(tǒng)的、完整的Docker,而Docker Engine則是Docker的核心運行引擎;Docker Desktop軟件包含了Docker Engine和其他一些附加的功能。關(guān)于下載Docker Desktop還是Docker Engine,簡單來說,就是如果在桌面操作系統(tǒng)(比如Windows電腦、Mac電腦中),就下載Docker Desktop軟件,因為其可以通過圖形化的界面來實現(xiàn)多種Docker功能;若是在服務(wù)器、Linux電腦等平臺,則下載Docker Engine即可,因為其可以通過命令行來完成各項Docker功能。關(guān)于二者的更詳細(xì)介紹與區(qū)分,大家可以參考Docker官網(wǎng),這里就不再贅述。

話不多說,我們開始Docker Engine的具體配置。其中,本文所涉及的全部代碼,都在終端中執(zhí)行即可。

1 預(yù)處理

首先,我們需要確保電腦中沒有老版本的Docker及其組件。例如,我這里的電腦雖然沒有Docker應(yīng)用,但是還是能搜索到一些關(guān)于docker的文件或文件夾;如下圖所示。

因此,除非大家的電腦是剛剛買回來、什么都沒有配置過的新電腦,其他情況下都建議大家首先執(zhí)行如下的代碼。

sudo apt-get remove docker docker-engine docker.io containerd runc

上述代碼使用apt-get命令來移除Docker相關(guān)軟件包和容器運行時的命令。其中,sudo是一個用于以超級用戶(root)權(quán)限運行命令的關(guān)鍵詞;通過使用sudo,可以執(zhí)行需要管理員權(quán)限的操作。隨后的apt-get是用于在DebianUbuntu等基于DebianLinux發(fā)行版中進行軟件包管理的命令行工具。removeapt-get命令的一個選項,用于從系統(tǒng)中卸載指定的軟件包。dockerdocker-engine、docker.iocontainerdrunc都是要卸載的軟件包的名稱,指定了Docker及其相關(guān)組件的軟件包名稱。通過在命令中列出這些軟件包的名稱,apt-get將卸載它們及其相關(guān)的文件和配置。

運行上述代碼,如下圖所示??梢钥吹剑业碾娔X中其實之前也并沒有什么Docker的相關(guān)文件。

此外,我們還可以用Docker官網(wǎng)提供的一句代碼來實現(xiàn)上述類似的功能;它的作用和前述代碼一致。

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc;
do sudo apt-get remove $pkg;
done

運行上述代碼,如下圖所示。

接下來,我們需要更新一下系統(tǒng)的軟件包列表;通過如下的代碼即可實現(xiàn)這一需求。

sudo apt-get update

運行上述代碼,系統(tǒng)會連接到軟件包倉庫服務(wù)器,并檢查是否有可用的更新版本和新的軟件包。這個命令會更新本地系統(tǒng)中的軟件包列表,以反映最新的可用軟件包信息。

在運行其他apt-get命令(如安裝軟件包、升級系統(tǒng)等)之前,通常建議先運行上述代碼,確保系統(tǒng)獲得最新的軟件包列表。這樣可以確保我們從最新的軟件包倉庫中獲取軟件包,并減少因為舊版本軟件包而可能導(dǎo)致的問題。

需要注意,apt-get update只會更新軟件包列表,而不會實際下載或安裝軟件包。如果后面我們要安裝或升級軟件包,需要進一步使用apt-get installapt-get upgrade才可以。

運行上述代碼,如下圖所示。其中紫色框內(nèi)是我們輸入電腦賬戶密碼的地方。

運行上述代碼,有的時候會有一些報錯,如下圖所示。但一般情況下,這些報錯都不會影響我們后續(xù)的正常操作。

2 存儲庫配置

接下來,我們需要通過如下的代碼,使得apt可以通過HTTPS來使用倉庫(這個是Docker必要的條件)。

sudo apt-get install ca-certificates curl gnupg

其中,ca-certificates是一個軟件包名稱,它包含了一組根證書和中間證書,用于驗證HTTPS連接的安全性;安裝ca-certificates軟件包可以確保系統(tǒng)具有最新的根證書列表。curl是一個用于在命令行中進行網(wǎng)絡(luò)請求的工具,它支持多種協(xié)議,如HTTP、HTTPSFTP等;安裝curl軟件包可以讓我們在終端中方便地進行網(wǎng)絡(luò)請求和下載文件。gnupgGNU隱私衛(wèi)士(GNU Privacy Guard)的縮寫,也稱為GPG;它是一個用于加密和簽名數(shù)據(jù)的工具集,安裝gnupg軟件包可以在系統(tǒng)中使用GPG密鑰和加密功能。

運行上述代碼,如下圖所示。

接下來,我們通過如下代碼,設(shè)置Docker軟件源的GPG密鑰;這個GPG是一個用于加密和簽名數(shù)據(jù)的工具。

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

首先,-m 0755是設(shè)置文件或目錄的權(quán)限的選項,0755表示所有者具有讀、寫和執(zhí)行權(quán)限,而其他用戶具有讀和執(zhí)行權(quán)限。隨后的-d /etc/apt/keyrings指定要創(chuàng)建的目錄路徑,其創(chuàng)建一個名為/etc/apt/keyrings的目錄。該命令的目的是創(chuàng)建/etc/apt/keyrings目錄,該目錄將用于存放密鑰文件。

接下來,-fsSLcurl命令的選項,用于指定請求的方式和參數(shù);其中,-fsSL意味著以靜默模式發(fā)送請求(不顯示進度信息),并跟隨重定向。其后的鏈接,則是要獲取的GPG密鑰的URL。再隨后的|是管道符號,用于將前一個命令的輸出作為后一個命令的輸入。--dearmor用于將二進制格式的GPG密鑰轉(zhuǎn)換為文本格式,并隨后指定將轉(zhuǎn)換后的GPG密鑰保存到/etc/apt/keyrings/docker.gpg文件中。該命令的目的是使用curl從指定的URL下載Docker軟件源的GPG密鑰,并將其轉(zhuǎn)換為文本格式后保存。

其次,chmod是一個用于修改文件或目錄權(quán)限的命令,a+r表示將讀權(quán)限授予所有用戶,最后的路徑則是要修改權(quán)限的文件路徑。該命令的目的是將GPG密鑰文件的讀權(quán)限授予所有用戶,以確保所有用戶都能夠讀取該文件中的密鑰信息。

運行上述代碼,如下圖所示。

接下來,我們需要配置Docker存儲庫,代碼如下。

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

首先,echo是一個用于在終端輸出文本的命令,引號內(nèi)的內(nèi)容則是要輸出的文本。這里的[arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg]是一個APT源的配置選項,用于指定軟件體系結(jié)構(gòu)和GPG密鑰的位置;其中的$(dpkg --print-architecture)是一個子命令,用于獲取當(dāng)前系統(tǒng)的體系結(jié)構(gòu)。隨后的鏈接,則是Docker軟件源的URL。

接下來,$(. /etc/os-release && echo "$VERSION_CODENAME")是一個子命令,用于獲取當(dāng)前系統(tǒng)的Ubuntu版本代號(codename),其后的/etc/os-release文件包含有關(guān)操作系統(tǒng)的信息。stable表示要使用Docker軟件源的穩(wěn)定版本。

隨后,tee是一個用于從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)并將其寫入文件的命令。/etc/apt/sources.list.d/docker.list是要寫入數(shù)據(jù)的文件路徑。> /dev/null是將命令的輸出重定向到空設(shè)備(null設(shè)備),即丟棄輸出。該命令的目的是使用sudo權(quán)限將Docker軟件源的配置信息寫入到/etc/apt/sources.list.d/docker.list文件中,并將輸出重定向到空設(shè)備,以避免輸出到終端。

運行上述代碼,如下圖所示。

接下來,不知為何,按照官網(wǎng)的流程,我們還需要再更新一下系統(tǒng)的軟件包列表;我們就按照官網(wǎng)的說法照做即可。

sudo apt-get update

運行上述代碼,如下圖所示。

3 Docker Engine配置

接下來,我們就可以開始配置Docker Engine自身了。配置Docker Engine的流程還是很簡單的,直接執(zhí)行如下的代碼即可。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

其中,docker-ceDocker社區(qū)版,是Docker的核心組件;docker-ce-cli表示Docker CLI (命令行界面),用于與Docker進行交互和管理容器。containerd用于管理容器的生命周期。docker-buildx-pluginDocker Buildx插件,用于構(gòu)建多平臺的Docker鏡像;同樣的,docker-compose-plugin也是Docker Compose插件,用于定義和管理多容器應(yīng)用的編排和部署。

運行上述代碼,如下圖所示。

4 Docker Engine配置驗證

隨后,我們驗證一下Docker Engine的配置成功與否。通過如下的代碼即可加以驗證。該命令會下載一個測試映像并在容器中運行它。

sudo docker run hello-world

運行上述代碼,如下圖所示。

出現(xiàn)如上圖所示的字樣,就說明我們的Docker Engine配置已經(jīng)成功了。

需要說明的是,我們這篇文章只介紹了Docker Engine的下載、配置方法;關(guān)于以非root用戶管理Docker的方法,以及Docker Engine具體的使用方法,我們將在后續(xù)的博客中加以詳細(xì)的介紹。

至此,大功告成。

以上就是Docker在Ubuntu中的部署全流程的詳細(xì)內(nèi)容,更多關(guān)于Docker在Ubuntu中部署的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Docker安裝OpenWrt的實現(xiàn)步驟

    Docker安裝OpenWrt的實現(xiàn)步驟

    OpenWrt是一種可以運行在路由器上的嵌入式操作系統(tǒng),提供了許多網(wǎng)絡(luò)服務(wù)和功能,本文主要介紹了Docker安裝OpenWrt的實現(xiàn)步驟,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • docker的高可用配置詳解

    docker的高可用配置詳解

    這篇文章主要介紹了docker的高可用配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • docker-compose部署coredns如何實現(xiàn)自建DNS服務(wù)

    docker-compose部署coredns如何實現(xiàn)自建DNS服務(wù)

    本文介紹了如何在內(nèi)網(wǎng)中使用自建的CoreDNS服務(wù)進行域名解析,通過配置Corefile和hosts文件,實現(xiàn)內(nèi)部域名解析,無需在互聯(lián)網(wǎng)上注冊域名,使用docker-compose運行CoreDNS,并通過修改resolv.conf文件配置DNS服務(wù)
    2025-01-01
  • Docker容器日志查看和清理的圖文教程

    Docker容器日志查看和清理的圖文教程

    docker容器在運行過程中會產(chǎn)生日志,日志的量跟具體的容器有關(guān),下面這篇文章主要給大家介紹了關(guān)于Docker容器日志查看和清理的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 用Docker作為PaaS的替代方案是否完美無缺

    用Docker作為PaaS的替代方案是否完美無缺

    Docker的出現(xiàn)似乎又帶來了一種新的選擇,而且對于開發(fā)者來說更加靈活、便捷、易用。既然用戶可以直接在Docker上運行,PaaS是否還有應(yīng)用場景?面對企業(yè)繁雜的應(yīng)用環(huán)境,用Docker作為PaaS的替代方案是否完美無缺
    2016-11-11
  • docker倉庫數(shù)據(jù)傳輸加密的問題小結(jié)

    docker倉庫數(shù)據(jù)傳輸加密的問題小結(jié)

    這篇文章主要介紹了docker倉庫數(shù)據(jù)傳輸加密的問題小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-12-12
  • 使用docker compose安裝FastDfs文件服務(wù)器的實例詳解

    使用docker compose安裝FastDfs文件服務(wù)器的實例詳解

    這篇文章主要介紹了使用docker compose安裝FastDfs文件服務(wù)器的實例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Docker部署Spring-boot項目的示例代碼

    Docker部署Spring-boot項目的示例代碼

    這篇文章主要介紹了Docker部署Spring-boot的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解復(fù)制備份docker容器數(shù)據(jù)的方法

    詳解復(fù)制備份docker容器數(shù)據(jù)的方法

    這篇文章主要介紹了詳解復(fù)制備份docker容器數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • docker?pull報錯unexpected?EOF問題的解決方案

    docker?pull報錯unexpected?EOF問題的解決方案

    在清理Docker私有倉庫的垃圾鏡像和緩存后,新推送到倉庫的鏡像會出現(xiàn)unexpectedEOF錯誤,這篇文章主要介紹了docker?pull報錯unexpected?EOF問題的解決方案,需要的朋友可以參考下
    2025-04-04

最新評論

林芝县| 区。| 清水河县| 肥乡县| 楚雄市| 屯昌县| 阿克陶县| 龙里县| 静乐县| 大埔区| 莱芜市| 偏关县| 湘潭县| 龙口市| 富宁县| 延长县| 皮山县| 汾阳市| 米脂县| 乐平市| 沐川县| 儋州市| 抚松县| 韩城市| 古田县| 沽源县| 会同县| 阳朔县| 乳山市| 沭阳县| 阿拉善右旗| 普格县| 海阳市| 泰来县| 芦溪县| 简阳市| 高雄市| 上蔡县| 思南县| 吉安县| 印江|