Alibaba Cloud Linux 3 安裝Docker

Alibaba Cloud Linux 3 基于 Red Hat Enterprise Linux (RHEL) 兼容內核,安裝 Docker 的步驟與 RHEL/CentOS 系列類似,以下是具體操作:

1. 卸載舊版本(如有)

sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2. 安裝必要依賴

sudo dnf install -y yum-utils device-mapper-persistent-data lvm2

命令解析:

(1)?sudo

以超級用戶(root)權限執行后續命令。安裝系統軟件通常需要 root 權限,sudo?用于臨時提升當前用戶的權限。

(2)?dnf

Red Hat 系 Linux 系統的新一代包管理工具(全稱為 Dandified YUM),用于管理軟件包的安裝、更新、卸載等操作,替代了傳統的?yum?工具(但語法兼容?yum)。

(3)install

dnf?的子命令,作用是安裝指定的軟件包。

(4)-y

dnf?的可選參數,全稱?--assumeyes,表示在安裝過程中自動回答 “yes”(確認安裝),無需用戶手動輸入確認,適合自動化腳本或希望快速安裝的場景。

(5) 軟件包名稱(三個依賴包)

  • yum-utils
    提供了一系列與?yum/dnf?相關的輔助工具(如?yum-config-manager),用于管理軟件倉庫(添加 / 刪除倉庫、啟用 / 禁用倉庫等),在安裝 Docker 時用于添加 Docker 官方倉庫。

  • device-mapper-persistent-data
    設備映射器(Device Mapper)的持久化數據工具包。設備映射器是 Linux 內核中的存儲管理框架,Docker 的部分存儲驅動(如?devicemapper)依賴此工具實現存儲設備的映射和管理。

  • lvm2
    邏輯卷管理(LVM,Logical Volume Manager)工具集,提供對磁盤分區的高級管理功能(如動態調整分區大小、合并多個磁盤等)。Docker 在使用某些存儲驅動(如基于 LVM 的?devicemapper?模式)時需要依賴此工具。

整體作用

這條命令的目的是以 root 權限自動安裝 Docker 所需的基礎依賴包,為后續添加 Docker 倉庫、安裝 Docker 引擎做準備。這些依賴包主要用于支持軟件倉庫管理和 Docker 存儲驅動的正常運行。

3. 添加 Docker 官方倉庫

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Alibaba Cloud Linux 3 兼容 CentOS 倉庫,因此使用 CentOS 的 Docker 源

補充說明

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo Curl error (35): SSL connect error for https://download.docker.com/linux/centos/docker-ce.repo [OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to download.docker.com:443 ]

Error: Configuration of repo failed

若遇到倉庫訪問問題,可替換為阿里云鏡像源加速(推薦):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://你的阿里云加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

阿里云鏡像加速器地址可在?阿里云容器鏡像服務?中獲取。

  1. 登錄?阿里云容器鏡像服務(需阿里云賬號)
  2. 在左側菜單找到「鏡像加速器」,獲取專屬加速地址(格式類似?https://xxxx.mirror.aliyuncs.com

4、安裝 Docker 引擎

sudo dnf install -y docker-ce docker-ce-cli containerd.io

5. 啟動 Docker 并設置開機自啟

sudo systemctl start docker          # 啟動服務
sudo systemctl enable docker         # 設置開機自啟
sudo systemctl status docker         # 查看服務狀態(可選)

6. 驗證安裝

運行測試鏡像確認 Docker 正常工作:

sudo docker run hello-world

若成功,會輸出 "Hello from Docker!" 等信息,表明安裝完成。

7. (可選)配置非 root 用戶使用 Docker

默認需要?sudo?權限,如需允許當前用戶直接使用 Docker:

sudo usermod -aG docker $USER

設置后需?注銷并重新登錄?生效。

8.?容器命令

(1) docker container run -d --name? webserver?-p 80:8080?nigelpoulton/pluralsight-docker-ci

基于?nigelpoulton/pluralsight-docker-ci?鏡像啟動一個后臺運行的容器

docker container run?: 核心命令,用于創建并啟動一個新容器(等價于簡化寫法?docker run

-d:--detach?的縮寫,表示容器啟動后在后臺運行(不占用當前終端),終端會返回容器的 ID(方便后續管理)。

-p 80:8080:

端口映射配置,格式為?主機端口:容器端口

  • 主機端口?80:表示宿主機(你的 Linux 服務器)對外開放的端口。
  • 容器端口?8080:表示容器內部應用實際運行的端口(該鏡像中的 Web 服務默認在 8080 端口提供服務)。
  • 效果:外部訪問宿主機的?80?端口時,請求會自動轉發到容器內的?8080?端口,從而訪問到容器中的 Web 服務。

(2) docker container run -it ubuntu /bin/bash? ?

基于?ubuntu?鏡像啟動一個交互式的容器,并進入容器的?bash?終端

-it :兩個選項的組合,是進入容器交互式終端的關鍵:

  • -i--interactive):保持容器的標準輸入(STDIN)打開,確保你能向容器輸入命令。
  • -t--tty):為容器分配一個偽終端(類似終端窗口),讓你能像操作普通終端一樣與容器交互。

兩者結合(-it)的效果是:創建一個可交互的終端環境,讓你能直接在容器內輸入命令(如?lspwd?等)。

(3)docker container ls?

列出當前正在運行的容器的命令,可以簡寫為更常用的?docker ps(兩者功能完全一致,ps?是 "process status" 的縮寫,類比 Linux 中的?ps?命令)。

常用選項

  • -a?或?--all:顯示所有容器(包括已停止的,不僅僅是運行中的)。
    示例:docker container ls -a?或?docker ps -a

  • -q?或?--quiet:只顯示容器的 ID(常用于批量操作,如刪除所有容器?docker rm $(docker ps -aq))。
    示例:docker container ls -q?或?docker ps -q

  • -l?或?--latest:只顯示最近創建的一個容器(無論是否運行)。

(4)docker container exec??

Docker 中用于在正在運行的容器內執行命令的核心命令,常用于在不停止容器的情況下,臨時操作容器內部環境(如進入終端、查看文件、運行腳本等)

(5) docker container stop 停止運行中的容器,并將狀態置為Exited(0)。

(6)docker container start 重啟處于停止(Exited)狀態的容器

(7)docker container rm 刪除停止的容器

推薦使用docker container stop停止容器,再使用 docker container rm刪除

9、Ctrl-PQ? 斷開shell和容器終端之間的連接,并再推出后保持容器再后臺運行。

?注意事項

  • 僅適用于 “交互式終端”Ctrl+P+Q?只在通過?-it?選項創建的偽終端中生效(如?bash/sh),若未加?-it(如直接執行?docker exec 容器名 ls),則無法使用該快捷鍵。
  • 避免按錯順序:必須是?Ctrl+P?后接?Ctrl+Q(實際操作中按住 Ctrl 不放,依次按 P、Q),順序顛倒會無效。

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

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

相關文章

每日一練001.pm

題目詳情&#xff1a; P5705 【深基2.例7】數字反轉 - 洛谷 題目描述 輸入一個不小于 100 且小于 1000&#xff0c;同時包括小數點后一位的一個浮點數&#xff0c; 例如 123.4 &#xff0c;要求把這個數字翻轉過來&#xff0c;變成 4.321 并輸出。 #include<iostream&g…

AI智能優化SEO關鍵詞策略實戰

本文聚焦AI如何智能優化SEO關鍵詞策略&#xff0c;通過實戰案例分享高效技巧&#xff0c;幫助提升網站搜索排名和流量轉化效果。內容涵蓋AI革新關鍵詞策略的原理、智能優化技巧的實際應用、高效關鍵詞布局方法、避免常見錯誤的實戰指南&#xff0c;以及綜合策略推動排名飛躍的路…

360° 拖動旋轉的角度計算原理

360 拖動旋轉的角度計算原理 簡化的 正方形 div demo 專注講清楚「點擊 / 拖動如何計算角度」這個原理&#xff0c;沒有精美 UI哦 中間標注中心點鼠標點擊或拖動時&#xff0c;計算當前位置相對于中心的角度在頁面上實時顯示角度代碼示例&#xff08;原生 HTML JS&#xff09;…

五分鐘XML速成

原文鏈接&#xff1a; XML - Dive Into Python 3 深入探討 本書幾乎所有章節都圍繞一段示例代碼展開&#xff0c;但 XML 并非關于代碼&#xff0c;而是關于數據。 XML 的一個常見用途是 “聚合提要”&#xff08;syndication feeds&#xff09;&#xff0c;用于列出博客、論壇…

如何直接訪問docker容器中的端口服務而不需要改端口映射

查看docker容器對于宿主服務器的ip地址 docker inspect -f {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}} $容器名 # 替換$容器名 為自己的啟動docker內的服務&#xff0c;監聽端口是否用信息 curl http://172.17.0.2:90有信息就可以直接通過該ip訪問docker容器端口…

《Istio故障溯源:從流量劫持異常到服務網格的底層博弈》

服務網格常被企業視為微服務通信復雜性的“終極方案”。不少團隊在部署Istio時,往往滿足于“控制面啟動、Sidecar注入成功”的表層驗證,卻忽視了底層機制與業務場景的深度適配—這種“重部署輕調優”的心態,往往為后續的生產故障埋下隱患。某大型金融機構的核心交易中臺在接…

第24節:3D音頻與空間音效實現

第24節&#xff1a;3D音頻與空間音效實現 概述 3D音頻是構建沉浸式體驗的關鍵組件&#xff0c;它通過模擬真實世界中的聲音傳播特性&#xff0c;為用戶提供空間感知和方向感。本節將深入探討Web Audio API與Three.js的集成&#xff0c;涵蓋空間音效原理、音頻可視化、多聲道處理…

一步搞清楚本地客戶端和全局服務器是如何更新模型的

我們可以把它想象成一個 “老師”和“學生” 協作學習的過程。全局服務器 “老師”本地客戶端 “學生”整個模型更新的過程遵循一個核心原則&#xff1a;“數據不動&#xff0c;模型動”。原始數據永遠留在本地客戶端&#xff0c;只有模型的參數&#xff08;即模型的“知識”…

跨平臺超低延遲RTSP播放器技術設計探究

摘要 RTSP 播放在實驗室里“跑起來”并不難&#xff0c;難的是在真實場景中做到 超低延遲、跨平臺、高穩定&#xff0c;并長期可靠運行。大牛直播SDK&#xff08;SmartMediaKit&#xff09;的全自研跨平臺 RTSP 播放棧&#xff0c;正是把這些工程難題轉化為可用、可控、可交付的…

知識點匯集——web(三)

1.index.php 的備份文件名通常為index.php.bak 2.PHP2是服務器端腳本語言&#xff0c;主要用于處理和生成網頁的內容&#xff0c;當用戶訪問一個網站時&#xff0c;PHP腳本會在服務器上執行&#xff0c;生成動態的HTML頁面&#xff0c;然后將頁面發送給用戶的瀏覽器進行顯示。p…

變頻器【簡易PLC】功能中的時間問題

一、變頻器的簡易PLC功能簡易PLC功能是將提前設置好的多端速頻率&#xff0c;進行自動運行&#xff0c;類似于PLC程序中的CASE指令一樣&#xff0c;我們需要提前設置好幾段頻率&#xff0c;該頻率所維持的時間&#xff0c;以及加減速時間&#xff0c;按下啟動后&#xff0c;變頻…

Swift 解題:LeetCode 372 超級次方(Super Pow)

文章目錄摘要描述題解答案題解代碼分析代碼解析示例測試及結果時間復雜度空間復雜度總結摘要 在算法題里&#xff0c;有一些問題看似“簡單”&#xff0c;比如算一個冪次方&#xff0c;但一旦放大規模就完全不同了。LeetCode 372 超級次方就是這樣的題目。普通的冪運算沒什么難…

揭秘23種設計模式的藝術與技巧之結構型

結構型模式&#xff1a;優化軟件結構的策略代理模式&#xff08;Proxy Pattern&#xff09;代理模式就像一個經紀人&#xff0c;代表真實對象進行操作。比如&#xff0c;在網絡訪問中&#xff0c;我們可能會通過代理服務器來訪問外部網站。在軟件中&#xff0c;當一個對象由于某…

PyTorch圖像數據轉換為張量(Tensor)并進行歸一化的標準操作

transform ToTensor() 是 PyTorch 中用于將圖像數據轉換為張量&#xff08;Tensor&#xff09;并進行歸一化的標準操作&#xff0c;以下是對其功能的逐層解析及關鍵細節&#xff1a;核心功能總結功能描述類型轉換將 PIL Image / numpy 數組 → PyTorch Tensor (dtype: torch.f…

HarmonyOS學習

一&#xff0c;DevEoc Studio基本內容學習項目工程目錄entry 默認的項目入口模塊ets 界面相關文件&#xff08;目前都放入pages文件內即可&#xff09;resource資源文件&#xff0c;配置文件index.est默認文件’ ‘開頭的一般為裝飾器&#xff0c;修飾功能&#xff0c;來約定后…

【大前端】Vue 和 React 主要區別

Vue 與 React 的主要區別 在前端開發領域&#xff0c;Vue 和 React 是兩大最受歡迎的框架/庫。盡管它們都可以幫助我們構建現代化的 Web 應用&#xff0c;但在設計理念、開發方式、生態系統等方面有許多不同。本文將從多個角度對兩者進行對比。 目錄 框架與庫的定位核心理念…

高級RAG策略學習(五)——llama_index實現上下文窗口增強檢索RAG

LlamaIndex上下文窗口實現詳解 概述 本文檔詳細講解基于LlamaIndex框架實現的上下文窗口RAG系統&#xff0c;重點分析關鍵步驟、語法結構和參數配置。 1. 核心導入與環境配置 1.1 必要模塊導入 from llama_index.core import Settings from llama_index.llms.dashscope import …

Doris 數據倉庫例子

基于 Apache Doris 構建數據倉庫的方案和具體例子。Doris 以其高性能、易用性和實時能力&#xff0c;成為構建現代化數據倉庫&#xff08;特別是 OLAP 場景&#xff09;的優秀選擇。一、為什么選擇 Doris 構建數據倉庫&#xff1f;Doris&#xff08;原名 Palo&#xff09;是一個…

WebRTC進階--WebRTC錯誤Failed to unprotect SRTP packet, err=9

文章目錄 原因分析 SRTP Anti-Replay 機制 客戶端源碼 err=9 的定義: 為什么會觸發 replay_fail ? 解決方向 原因分析 SRTP Anti-Replay 機制 SRTP 收包時會用一個 Replay Window(64/128個序列號大小)檢查 seq 是否合理。 如果你構造的恢復包 recover_seq 比當前接收窗口…

Web服務與Nginx詳解

文章目錄前言一、Web 概念1.1 Web 的基本概念1.1.1 特點1.2 B/S 架構模型1.3 Web 請求與響應過程1.4 靜態資源與動態資源1.5 Web 的發展階段1.6 實驗&#xff1a;搭建最小 Web 服務1.6.1 實驗目標1.6.2 實驗步驟1.7 小結二、HTTP 與 HTTPS 協議2.1 HTTP 與 HTTPS 的區別2.2 HTT…