【第四節】ubuntu server安裝docker

首先更新軟件源

sudo apt update
sudo apt upgrade

安裝docker

下載 Docker 官方 GPG 密鑰

# 1. 下載 Docker 官方 GPG 密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

再次更新軟件源

# 再次更新軟件源
sudo apt update

安裝docker

# 安裝docker
sudo apt install docker-ce

安裝后輸出如下信息,https握手失敗

root@server001:/home/zxd# sudo apt install docker-ce
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:containerd.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin libslirp0 pigz slirp4netns
Suggested packages:cgroupfs-mount | cgroup-lite docker-model-plugin
The following NEW packages will be installed:containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin libslirp0 pigz slirp4netns
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 103 MB of archives.
After this operation, 429 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Ign:4 https://download.docker.com/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.7.27-1
Ign:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:28.3.2-1~ubuntu.22.04~jammy
Get:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/universe amd64 pigz amd64 2.6-1 [63.6 kB]
Ign:6 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:28.3.2-1~ubuntu.22.04~jammy
Get:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/main amd64 libslirp0 amd64 4.6.1-1build1 [61.5 kB]
Get:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/universe amd64 slirp4netns amd64 1.0.1-2 [28.2 kB]
Ign:7 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-buildx-plugin amd64 0.25.0-1~ubuntu.22.04~jammy
Ign:8 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:28.3.2-1~ubuntu.22.04~jammy
Ign:9 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.38.2-1~ubuntu.22.04~jammy
Ign:4 https://download.docker.com/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.7.27-1
Ign:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:28.3.2-1~ubuntu.22.04~jammy
Ign:6 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:28.3.2-1~ubuntu.22.04~jammy
Ign:7 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-buildx-plugin amd64 0.25.0-1~ubuntu.22.04~jammy
Ign:8 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:28.3.2-1~ubuntu.22.04~jammy
Ign:9 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.38.2-1~ubuntu.22.04~jammy
Ign:4 https://download.docker.com/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.7.27-1
Ign:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:28.3.2-1~ubuntu.22.04~jammy
Ign:6 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:28.3.2-1~ubuntu.22.04~jammy
Ign:7 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-buildx-plugin amd64 0.25.0-1~ubuntu.22.04~jammy
Ign:8 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:28.3.2-1~ubuntu.22.04~jammy
Ign:9 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.38.2-1~ubuntu.22.04~jammy
Err:4 https://download.docker.com/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.7.27-1                                                                                                                                                                            Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
Err:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:28.3.2-1~ubuntu.22.04~jammy                                                                                                                                                       Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
Err:6 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:28.3.2-1~ubuntu.22.04~jammy                                                                                                                                                           Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
Err:7 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-buildx-plugin amd64 0.25.0-1~ubuntu.22.04~jammy                                                                                                                                                  Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
Err:8 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:28.3.2-1~ubuntu.22.04~jammy                                                                                                                                           Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
Err:9 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.38.2-1~ubuntu.22.04~jammy                                                                                                                                                 Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
Fetched 153 kB in 8s (18.5 kB/s)                                                                                                                                                                                                                                          
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/containerd.io_1.7.27-1_amd64.deb  Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/docker-ce-cli_28.3.2-1%7eubuntu.22.04%7ejammy_amd64.deb  Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/docker-ce_28.3.2-1%7eubuntu.22.04%7ejammy_amd64.deb  Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/docker-buildx-plugin_0.25.0-1%7eubuntu.22.04%7ejammy_amd64.deb  Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/docker-ce-rootless-extras_28.3.2-1%7eubuntu.22.04%7ejammy_amd64.deb  Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/docker-compose-plugin_2.38.2-1%7eubuntu.22.04%7ejammy_amd64.deb  Could not handshake: Error in the pull function. [IP: 18.65.229.113 443]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

更換國內源重新安裝

移除原有docker源

#移除原有docker源
root@server001:/etc/apt/sources.list.d# rm docker.list
root@server001:/etc/apt/sources.list.d# 

下載阿里云的 Docker GPG 密鑰

# 下載阿里云的 Docker GPG 密鑰
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加阿里云 Docker APT 源

# 添加阿里云 Docker APT 源
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新軟件源

#更新軟件源
sudo apt update

安裝docker

#安裝docker
sudo apt install docker-ce

輸出證明安裝成功

root@server001:/etc/apt/sources.list.d# sudo apt install docker-ce
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:containerd.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin libslirp0 pigz slirp4netns
Suggested packages:cgroupfs-mount | cgroup-lite docker-model-plugin
The following NEW packages will be installed:containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin libslirp0 pigz slirp4netns
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 103 MB/103 MB of archives.
After this operation, 429 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.7.27-1 [30.5 MB]
Get:2 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:28.3.2-1~ubuntu.22.04~jammy [16.5 MB]
Get:3 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:28.3.2-1~ubuntu.22.04~jammy [19.7 MB]
Get:4 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 docker-buildx-plugin amd64 0.25.0-1~ubuntu.22.04~jammy [15.6 MB]
Get:5 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:28.3.2-1~ubuntu.22.04~jammy [6,481 kB]                                                                                                                       
Get:6 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.38.2-1~ubuntu.22.04~jammy [14.2 MB]                                                                                                                              
Fetched 103 MB in 9s (11.7 MB/s)                                                                                                                                                                                                                                          
Selecting previously unselected package containerd.io.
(Reading database ... 74997 files and directories currently installed.)
Preparing to unpack .../0-containerd.io_1.7.27-1_amd64.deb ...
Unpacking containerd.io (1.7.27-1) ...
Selecting previously unselected package docker-ce-cli.
Preparing to unpack .../1-docker-ce-cli_5%3a28.3.2-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-ce-cli (5:28.3.2-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-ce.
Preparing to unpack .../2-docker-ce_5%3a28.3.2-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-ce (5:28.3.2-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package pigz.
Preparing to unpack .../3-pigz_2.6-1_amd64.deb ...
Unpacking pigz (2.6-1) ...
Selecting previously unselected package docker-buildx-plugin.
Preparing to unpack .../4-docker-buildx-plugin_0.25.0-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-buildx-plugin (0.25.0-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-ce-rootless-extras.
Preparing to unpack .../5-docker-ce-rootless-extras_5%3a28.3.2-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-ce-rootless-extras (5:28.3.2-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package docker-compose-plugin.
Preparing to unpack .../6-docker-compose-plugin_2.38.2-1~ubuntu.22.04~jammy_amd64.deb ...
Unpacking docker-compose-plugin (2.38.2-1~ubuntu.22.04~jammy) ...
Selecting previously unselected package libslirp0:amd64.
Preparing to unpack .../7-libslirp0_4.6.1-1build1_amd64.deb ...
Unpacking libslirp0:amd64 (4.6.1-1build1) ...
Selecting previously unselected package slirp4netns.
Preparing to unpack .../8-slirp4netns_1.0.1-2_amd64.deb ...
Unpacking slirp4netns (1.0.1-2) ...
Setting up docker-buildx-plugin (0.25.0-1~ubuntu.22.04~jammy) ...
Setting up containerd.io (1.7.27-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Setting up docker-compose-plugin (2.38.2-1~ubuntu.22.04~jammy) ...
Setting up docker-ce-cli (5:28.3.2-1~ubuntu.22.04~jammy) ...
Setting up libslirp0:amd64 (4.6.1-1build1) ...
Setting up pigz (2.6-1) ...
Setting up docker-ce-rootless-extras (5:28.3.2-1~ubuntu.22.04~jammy) ...
Setting up slirp4netns (1.0.1-2) ...
Setting up docker-ce (5:28.3.2-1~ubuntu.22.04~jammy) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.10) ...
Scanning processes...                                                                                                                                                                                                                                                      
Scanning linux images...                                                                                                                                                                                                                                                   Running kernel seems to be up-to-date.No services need to be restarted.No containers need to be restarted.No user sessions are running outdated binaries.No VM guests are running outdated hypervisor (qemu) binaries on this host.
root@server001:/etc/apt/sources.list.d# 

docker安裝完成,嘗試拉去hellow-world并運行,以測試docker是否功能正常

拉去hello world鏡像,但是報錯了網絡問題

root@server001:/etc/apt/sources.list.d# docker pull hello-world
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded
root@server001:/etc/apt/sources.list.d# 

更換國內鏡像源,但其實這條路已經被堵死了,因為不可言說的原因國內所有的倉庫都已經下架了,你可能需要去想點其他辦法來解決這個問題,我就不多說了,但這是個可以解決的問題,最后我是購買了docker加速器解決的問題,有人會說阿里云,騰訊云,什么的,請你去看看他們的公告,僅限自家云產品加速使用,那些免費的其他公共地址早在2024年就發過下架公告了。

拉取hello-world的信息這里就不截圖,也不粘帖了,因為有隱私信息,反正問題最后是解決了,我們直接跳到運行hello-world這一步,可以已經運行了hello-world

在這里插入圖片描述

寫在最后,在我們從第一章在hyper-v里安裝ubuntu server到今天安裝完成docker,運行hello-world,鏡像的問題是我遇到最大的挑戰,當然也解決了它,但耗費的差不多三個小時

下一章我們將最原始的方式在docker里部署一個基于python flask的http接口,然后通過調試工具進行請求

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/web/88870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88870.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kubernetes的微服務

用控制器來完成集群的工作負載,那么應用如何暴漏出去?需要通過微服務暴漏出去后才能被訪問Service是一組提供相同服務的Pod對外開放的接口。借助Service,應用可以實現服務發現和負載均衡。service默認只支持4層負載均衡能力,沒有7…

退出登錄后頭像還在?這個緩存問題坑過多少前端!

目錄 1. 為什么退出登錄后頭像還在? ① 緩存沒清理干凈 ② 頭像URL沒更新 ③ 后端會話失效,但靜態資源可訪問 2. 怎么解決?5種常見方案 ? 方案1:強制刷新頁面(簡單粗暴) ? 方案2:給頭像…

Windows下白嫖ClaudeCode

我的邀請鏈接:https://anyrouter.top/register?afffMJn 我的邀請鏈接:https://anyrouter.top/register?afffMJn 我的邀請鏈接:https://anyrouter.top/register?afffMJn 兄弟們,交個朋友啊!一定要用我的呀&#xff0…

windows在anaconda中下載安裝fasttext

windows在anaconda中下載安裝fasttext 1.訪問fasttext-wheel,點擊對應鏈接,下載對應Python版本、操作系統類型 的.whl文件: 鏈接地址:https://pypi.org/project/fasttext-wheel/#files 打開anaconda終端,切換到上面的…

mysql5.7系列-索引下推(cover_index)

什么是索引下推 ICP(Index Condition Pushdown)是在MySQL 5.6版本上推出的查詢優化策略,把本來由Server層做的索引條件檢查下推給存儲引擎層來做,以降低回表和訪問存儲引擎的次數,提高查詢效率。 回顧下mysql的架構分…

計算機網絡(基礎概念)

計算機網絡(基礎概念)1 初識協議1.1 協議分層2 OSI七層模型2.1 物理層2.2 數據鏈路層2.3 網絡層2.4 傳輸層2.5 應用層3 TCP/IP協議族3.1 什么是TCP/IP協議?3.1.1 OS與網絡關系4 網絡傳輸的基本流程4.1 局域網4.2 MAC地址5 跨網絡傳輸5.1 IP地址6 Socket…

專題 JavaScript 函數基礎

你將知道:函數聲明和表達式函數聲明和表達式之間的區別什么是匿名函數什么是 IIFE命名函數表達式this 關鍵字函數是調用該函數時執行的代碼塊 。函數聲明和表達式讓我們回顧一下它的語法:functionfunctionName(param1, param2, ..., paramN) {// Functio…

數據結構——優先隊列(priority_queue)的巧妙運用

優先隊列是一種相對高級的數據結構,它的底層原理是二叉堆。然而本篇不會執著于深挖其背后的原理,更主要的是理一下它在題目中的一些實用方法,幫助你更快的上手使用。 優先隊列(priority_queue) 優先隊列的特別之處就在于它可以自動進行排序&…

Java:繼承和多態(必會知識點整理)

主要內容繼承多態向上轉型向下轉型方法重寫方法重載super關鍵字動態綁定封裝訪問控制構造方法規則一、繼承 1. 概念: 一句話說就是:“共性抽取,代碼復用”子類會將父類中的成員變量或者成員方法繼承到子類中子類繼承父類之后,必須…

基于esp32系列的開源無線dap-link項目使用介紹

基于esp32系列的開源無線dap-link項目使用介紹🔖有關esp32/8266相關項目:需要自己搭建編譯環境: https://github.com/windowsair/wireless-esp8266-dap/tree/master🌿支持esp32/c3/s3,支持在線固件燒錄,支持AP配網&…

深入了解linux系統—— 進程信號的產生

前言 進程在收到信號之后,可以立即處理,也可以在合適的時間再處理(1-31號普通信號可以不被立即處理) 信號不是被立即處理,信號就要被保存下來,讓進程在合適的時間再去處理。 相關概念 在了解進程是如何保存…

【Bluedroid】藍牙協議棧enable流程深度解析

本文詳細剖析 Bluedroid 藍牙功能啟用的核心流程,從enable()函數觸發開始,深入解析藍牙協議棧的異步啟動機制、核心協議模塊初始化、硬件控制器綁定及狀態同步全流程。重點闡述接口就緒性檢查、異步線程管理、配置文件回調機制等關鍵環節,揭示…

各種開發語言主要語法對比

各類主流編程語言的語法有著顯著差異,這些差異源于語言設計哲學(簡潔性 vs 顯式性)、應用領域(系統級、Web、數據科學)、運行方式(編譯 vs 解釋)以及支持的范式(面向對象、函數式、過…

小鵬汽車6月交付車輛34,611輛,同比增長224%

小鵬汽車-W(09868)發布公告,2025年6月,小鵬汽車共交付智能電動汽車34,611輛,同比增長224%,這標志著小鵬汽車已連續第八個月交付量超過了30,000輛。2025年第二季度,小鵬汽車共交付103,181 輛智能電動車,創下…

深入理解觀察者模式:構建松耦合的交互系統

在軟件開發中,我們經常遇到這樣的場景:一個對象的狀態變化需要通知其他多個對象,并且這些對象需要根據變化做出相應的反應。比如,用戶界面中的數據變化需要實時反映到多個圖表上,或者電商系統中的庫存變化需要通知訂單…

React強大且靈活hooks庫——ahooks入門實踐之常用場景hook

什么是 ahooks? ahooks 是一個 React Hooks 庫,提供了大量實用的自定義 hooks,幫助開發者更高效地構建 React 應用。其中場景類 hooks 是 ahooks 的一個重要分類,專門針對特定業務場景提供解決方案。 安裝 ahooks npm install …

Qt常用控件之QWidget(一)

Qt常用控件之QWidget(一)1.QWidget2.enabled屬性2.geometry🌟🌟hello,各位讀者大大們你們好呀🌟🌟 🚀🚀系列專欄:【Qt的學習】 📝📝本…

AIOT開發選型:行空板 K10 與 M10 適用場景與選型深度解析

前言 隨著人工智能和物聯網技術的飛速發展,越來越多的開發者、學生和愛好者投身于創意項目的構建。 在眾多的開發板中,行空板 K10 和 M10 以其獨特的優勢脫穎而出。 本文旨在為讀者提供一份詳盡的行空板 K10 和 M10 對比分析,從適用場景、…

redis匯總筆記

語雀完整版: https://www.yuque.com/g/mingrun/embiys/calwqx/collaborator/join?tokensLcLnqz5Rv8hOKEB&sourcedoc_collaborator# 《Redis筆記》 Redis 一般問題 Redis內存模型(I/O多路模型)多路復用IO如何解釋 為什么Redis要使用單線…

STM32用PWM驅動步進電機

硬件介紹:連線:注意這里stp連的是pwm脈沖,dir連的是方向到時候代碼pwm波形就是從這里來的,具體接線根據你的代碼來注意要點:步進電機和舵機驅動是不一樣的,它是根據步長來移動的,所以要開一個中…