欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker在Ubuntu中的部署全流程

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

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

首先,大家需要明確,我們常說的Docker,其實(shí)就是指的Docker DesktopDocker Engine這兩個(gè)東西。其中,Docker Desktop軟件是適合于桌面操作系統(tǒng)的、完整的Docker,而Docker Engine則是Docker的核心運(yùn)行引擎;Docker Desktop軟件包含了Docker Engine和其他一些附加的功能。關(guān)于下載Docker Desktop還是Docker Engine,簡(jiǎn)單來說,就是如果在桌面操作系統(tǒng)(比如Windows電腦、Mac電腦中),就下載Docker Desktop軟件,因?yàn)槠淇梢酝ㄟ^圖形化的界面來實(shí)現(xiàn)多種Docker功能;若是在服務(wù)器、Linux電腦等平臺(tái),則下載Docker Engine即可,因?yàn)槠淇梢酝ㄟ^命令行來完成各項(xiàng)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)軟件包和容器運(yùn)行時(shí)的命令。其中,sudo是一個(gè)用于以超級(jí)用戶(root)權(quán)限運(yùn)行命令的關(guān)鍵詞;通過使用sudo,可以執(zhí)行需要管理員權(quán)限的操作。隨后的apt-get是用于在DebianUbuntu等基于DebianLinux發(fā)行版中進(jìn)行軟件包管理的命令行工具。removeapt-get命令的一個(gè)選項(xiàng),用于從系統(tǒng)中卸載指定的軟件包。dockerdocker-engine、docker.io、containerdrunc都是要卸載的軟件包的名稱,指定了Docker及其相關(guān)組件的軟件包名稱。通過在命令中列出這些軟件包的名稱,apt-get將卸載它們及其相關(guān)的文件和配置。

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

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

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

運(yùn)行上述代碼,如下圖所示。

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

sudo apt-get update

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

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

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

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

運(yùn)行上述代碼,有的時(shí)候會(huì)有一些報(bào)錯(cuò),如下圖所示。但一般情況下,這些報(bào)錯(cuò)都不會(huì)影響我們后續(xù)的正常操作。

2 存儲(chǔ)庫(kù)配置

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

sudo apt-get install ca-certificates curl gnupg

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

運(yùn)行上述代碼,如下圖所示。

接下來,我們通過如下代碼,設(shè)置Docker軟件源的GPG密鑰;這個(gè)GPG是一個(gè)用于加密和簽名數(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)限的選項(xiàng),0755表示所有者具有讀、寫和執(zhí)行權(quán)限,而其他用戶具有讀和執(zhí)行權(quán)限。隨后的-d /etc/apt/keyrings指定要?jiǎng)?chuàng)建的目錄路徑,其創(chuàng)建一個(gè)名為/etc/apt/keyrings的目錄。該命令的目的是創(chuàng)建/etc/apt/keyrings目錄,該目錄將用于存放密鑰文件。

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

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

運(yùn)行上述代碼,如下圖所示。

接下來,我們需要配置Docker存儲(chǔ)庫(kù),代碼如下。

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

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

隨后,tee是一個(gè)用于從標(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è)備,以避免輸出到終端。

運(yùn)行上述代碼,如下圖所示。

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

sudo apt-get update

運(yùn)行上述代碼,如下圖所示。

3 Docker Engine配置

接下來,我們就可以開始配置Docker Engine自身了。配置Docker Engine的流程還是很簡(jiǎn)單的,直接執(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進(jìn)行交互和管理容器。containerd用于管理容器的生命周期。docker-buildx-pluginDocker Buildx插件,用于構(gòu)建多平臺(tái)的Docker鏡像;同樣的,docker-compose-plugin也是Docker Compose插件,用于定義和管理多容器應(yīng)用的編排和部署。

運(yùn)行上述代碼,如下圖所示。

4 Docker Engine配置驗(yàn)證

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

sudo docker run hello-world

運(yùn)行上述代碼,如下圖所示。

出現(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中部署的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解如何在 Docker 中設(shè)置 Go 并部署應(yīng)用

    詳解如何在 Docker 中設(shè)置 Go 并部署應(yīng)用

    在本教程中,我們將學(xué)習(xí)如何使用 docker 部署 golang web 應(yīng)用程序。 具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Docker中安裝Redis并開啟遠(yuǎn)程訪問的詳細(xì)步驟

    Docker中安裝Redis并開啟遠(yuǎn)程訪問的詳細(xì)步驟

    這篇文章主要介紹了Docker中安裝Redis并開啟遠(yuǎn)程訪問的詳細(xì)步驟,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-01-01
  • Docker iptables的錯(cuò)誤解決

    Docker iptables的錯(cuò)誤解決

    本文主要介紹了Docker iptables的錯(cuò)誤解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • docker-mysql連接方式

    docker-mysql連接方式

    這篇文章主要介紹了docker-mysql連接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 安裝harbor作為docker鏡像倉(cāng)庫(kù)的問題

    安裝harbor作為docker鏡像倉(cāng)庫(kù)的問題

    這篇文章主要介紹了安裝harbor作為docker鏡像倉(cāng)庫(kù),主要包括docker和docker-compose離線部署,安裝harbor作為本地的倉(cāng)庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Docker搭建Gazee的實(shí)現(xiàn)示例

    Docker搭建Gazee的實(shí)現(xiàn)示例

    Gazee 是一個(gè) Web 應(yīng)用,專門用于閱讀和管理數(shù)字漫畫,本文主要介紹了Docker搭建Gazee的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • Docker部署Nginx并配置反向代理

    Docker部署Nginx并配置反向代理

    這篇文章介紹了Docker部署Nginx并配置反向代理的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • idea整合docker快速部署springboot應(yīng)用的詳細(xì)過程

    idea整合docker快速部署springboot應(yīng)用的詳細(xì)過程

    這篇文章主要介紹了idea整合docker快速部署springboot應(yīng)用,文中給大家提到關(guān)于安裝docker步驟,idea連接遠(yuǎn)程docker的方法,需要的朋友可以參考下
    2021-10-10
  • Docker實(shí)踐—CentOS7上部署Kubernetes詳解

    Docker實(shí)踐—CentOS7上部署Kubernetes詳解

    kubernetes作為docker的管理工具是由Google開源提供,但是kubernetes的安裝一直折磨著運(yùn)維人員,在這一系列的文章中我將會(huì)由kubernetes的安裝講起為大家介紹kubernetes的安裝使用等過程,也作為自己的學(xué)習(xí)筆記。
    2017-01-01
  • Docker的進(jìn)程和Cgroup概念詳解

    Docker的進(jìn)程和Cgroup概念詳解

    文章主要介紹了容器內(nèi)的進(jìn)程組織和關(guān)系,包括containerd-shim和容器內(nèi)1號(hào)進(jìn)程的角色和特點(diǎn),以及信號(hào)處理機(jī)制,同時(shí),文章還討論了Cgroup在Linux系統(tǒng)中用于資源管理和控制的機(jī)制,包括CFS調(diào)度算法和Kubernetes中的資源管理,感興趣的朋友跟隨小編一起看看吧
    2025-02-02

最新評(píng)論