在Ubuntu?Server?22.04上安裝?Docker的詳細步驟記錄
前言
本文檔詳細記錄了在 Ubuntu Server 22.04 上安裝 Docker 的完整過程,包括解決過程中遇到的問題。希望能對讀者有所幫助。
安裝過程,重點需要看官方文檔。https://docs.docker.com/engine/install/ubuntu/
步驟 1:卸載沖突的軟件包
在安裝 Docker Engine 之前,您需要卸載所有有沖突的軟件包。發(fā)行版維護者在 APT 中提供了 Docker 軟件包的非官方發(fā)行版。您必須先卸載這些軟件包,然后才能安裝 Docker Engine 的正式版本。
要卸載的非官方軟件包包括:
- docker.io
- docker-compose
- docker-compose-v2
- docker-doc
- podman-docker
此外,Docker Engine 依賴于 containerd
和 runc
。Docker Engine 將這些依賴項捆綁為一個包:containerd.io
。如果您之前安裝了 containerd
或 runc
,請卸載它們以避免與 Docker Engine 捆綁的版本發(fā)生沖突。
運行以下命令來卸載所有沖突的包:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
apt-get
可能會報告您沒有安裝這些包。
注意:卸載 Docker 時,不會自動刪除存儲在 /var/lib/docker/
中的圖像、容器、卷和網(wǎng)絡(luò)。如果您想從全新安裝開始,并且希望清理所有現(xiàn)有數(shù)據(jù),請閱讀 卸載 Docker Engine 部分。
步驟 2:更新系統(tǒng)軟件包
首先,更新系統(tǒng)中的現(xiàn)有軟件包:
sudo apt update
步驟 3:安裝依賴包
安裝必要的依賴包,這些包用于通過 HTTPS 獲取軟件倉庫:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
步驟 4:添加 Docker 中科大 GPG 密鑰
為了確保下載的 Docker 軟件包的真實性和完整性,我們需要添加 Docker 的 GPG 密鑰:
sudo mkdir -p /etc/apt/keyrings sudo curl -fsSL http://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
可能的問題
無法下載 GPG 密鑰:
- 錯誤信息:
curl: (6) Could not resolve host: mirrors.ustc.edu.cn
- 解決方案:在網(wǎng)上搜索其他鏡像站點。參考連接:https://blog.csdn.net/m0_46471328/article/details/138043873
背景知識:GPG 密鑰用于驗證軟件包的完整性和真實性,確保下載的軟件包沒有被篡改。
- 錯誤信息:
步驟 5:添加 Docker 中科大鏡像穩(wěn)定版軟件源
我們使用中科大的鏡像源來加快下載速度:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
可能的問題
鏡像源添加失敗:
- 錯誤信息:
bash: /etc/apt/sources.list.d/docker.list: Permission denied
- 解決方案:確保使用
sudo
運行命令以獲得必要的權(quán)限。
背景知識:軟件源是存儲軟件包的服務(wù)器地址,添加 Docker 的中科大鏡像源可以加快下載速度,并提高可靠性。
- 錯誤信息:
步驟 6:再次更新軟件包
添加新的 Docker 軟件源后,再次更新系統(tǒng)中的軟件包索引:
sudo apt update
可能的問題
更新失敗:
- 錯誤信息:
Failed to fetch http://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/dists/focal/stable/binary-amd64/Packages 404 Not Found
- 解決方案:檢查
sources.list.d/docker.list
文件中的鏡像源地址是否正確,并確認中科大鏡像源可用。
背景知識:更新軟件包索引是為了讓系統(tǒng)知道最新的軟件包信息,包括新添加的軟件源中的包。
- 錯誤信息:
步驟 7:安裝最新版本的 Docker
安裝 Docker 及其依賴包:
sudo apt install docker-ce docker-ce-cli containerd.io
可能的問題
安裝失敗:
- 錯誤信息:
E: Unable to locate package docker-ce
- 解決方案:確保之前步驟中的鏡像源已正確添加并更新了軟件包索引。
背景知識:Docker 是一個開源的平臺,用于開發(fā)、交付和運行應(yīng)用程序。它將應(yīng)用程序及其依賴項打包到一個標準化的單元中,稱為容器。
- 錯誤信息:
步驟 8:配置 Docker 使用鏡像加速器(hub)
由于國內(nèi)訪問 Docker Hub 可能會有速度和連接問題,我們配置 Docker 使用騰訊云的鏡像加速器:
sudo mkdir -p /etc/docker echo '{ "registry-mirrors": ["https://ccr.ccs.tencentyun.com"] }' | sudo tee /etc/docker/daemon.json > /dev/null
可能的問題
無法訪問鏡像加速器:
- 錯誤信息:
dial tcp: lookup ccr.ccs.tencentyun.com on 127.0.0.53:53: no such host
- 解決方案:確保配置的鏡像加速器地址正確并可訪問,可能需要更換其他地址。地址 127.0.0.53:53 是一個本地 DNS 緩存服務(wù),通常是由系統(tǒng)的 systemd-resolved 服務(wù)提供的。
背景知識:鏡像加速器可以提高從 Docker Hub 拉取鏡像的速度,特別是在國內(nèi)網(wǎng)絡(luò)環(huán)境下。
- 錯誤信息:
步驟 9:重新啟動 Docker 服務(wù)
使配置生效,重新啟動 Docker 服務(wù):
sudo systemctl daemon-reload sudo systemctl restart docker
步驟 10:驗證 Docker 安裝
運行一個簡單的 Docker 容器來驗證安裝是否成功:
sudo docker run hello-world
可能的問題
無法訪問 Docker Hub:
- 錯誤信息:
denied: requested access to the resource is denied unauthorized: authentication required
- 解決方案:通過以下命令登錄 Docker Hub:
sudo docker login
按照提示輸入 Docker Hub 用戶名和密碼即可。
- 錯誤信息:
網(wǎng)絡(luò)連接問題:
- 錯誤信息:
dial tcp: lookup registry-1.docker.io on 127.0.0.53:53: no such host
- 解決方案:配置鏡像加速器并重啟 Docker 服務(wù)后,再次嘗試拉取鏡像。
背景知識:
hello-world
鏡像是一個非常小的鏡像,用于驗證 Docker 是否正常工作。- 錯誤信息:
實時查看 Docker 服務(wù)日志
你可以使用以下命令實時查看 Docker 服務(wù)的日志:
sudo journalctl -u docker.service -f
這個命令的作用是:
sudo
:以超級用戶權(quán)限運行命令。journalctl
:查看系統(tǒng)日志的命令。-u docker.service
:指定查看 Docker 服務(wù)的日志。-f
:實時查看日志輸出,類似于tail -f
。
附加資源
總結(jié)
通過上述步驟,我成功在 Ubuntu Server 22.04 上安裝并配置了 Docker。主要就是鏡像地址問題,通過調(diào)整配置文件和更換鏡像源,我順利解決了這些問題。希望你也一樣。
到此這篇關(guān)于在Ubuntu Server 22.04上安裝 Docker的文章就介紹到這了,更多相關(guān)Ubuntu Server安裝Docker步驟內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Ubuntu?22.04?服務(wù)器安裝部署(nginx+postgresql)
- 安裝Ubuntu和ssh遠程連接的設(shè)置方式
- Ubuntu安裝配置MySQL、Python、Nginx的詳細過程
- Ubuntu上安裝Docker及可視化管理工具的流程步驟
- ubuntu安裝dotnet的方法
- Ubuntu系統(tǒng)中Redis的安裝步驟及服務(wù)配置詳解
- Ubuntu安裝MariaDB的具體步驟記錄
- 如何在ubuntu18.04安裝node?14.16.0
- Ubuntu24.04LTS在線安裝Docker引擎的詳細過程
- VMware虛擬機安裝Ubuntu20.04詳細教程(最新推薦)
- 在linux中安裝nginx及在樹莓派ubuntu中安裝nginx的方法
- ubuntu安裝golang并設(shè)置goproxy的方法步驟
- Ubuntu安裝MySQL的三種方式以及卸載MySQL
- ubuntu20.04安裝unity-tweak-tools啟動時遇到錯誤的解決
- Ubuntu?22.04或20.04安裝Oracle?SQL?Developer的圖文教程
- Ubuntu?Server?22.04.5?入門篇:詳盡安裝部署指南
相關(guān)文章
使用Docker部署的基于binlog實現(xiàn)Mysql8的操作方法
MySQL 基于?Binlog?的主從復(fù)制(Master-Slave Replication)是 MySQL 數(shù)據(jù)庫中實現(xiàn)數(shù)據(jù)復(fù)制的一種機制,這篇文章主要介紹了使用Docker部署的基于binlog實現(xiàn)Mysql8,需要的朋友可以參考下2025-01-01docker安裝kong網(wǎng)關(guān)的方法示例
這篇文章主要介紹了docker安裝kong網(wǎng)關(guān)的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05docker 創(chuàng)建RedHat8.5鏡像的命令
這篇文章主要介紹了docker 創(chuàng)建RedHat8.5鏡像的命令,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03CentOS系統(tǒng)下docker的安裝配置及使用介紹
這篇文章主要介紹了CentOS系統(tǒng)下docker的安裝配置及使用詳細介紹,需要的朋友可以參考下2016-10-10