【Ubuntu 16.04 (Xenial)??】安裝docker及容器詳細教程

Ubuntu 16.04 安裝docker詳細教程

  • 一、docker安裝
    • 1.1 前期準備
    • 1.2 使用 Docker 官方安裝腳本安裝(推薦)

查看ubuntu版本:lsb_release -a
2

這里我的系統是 ??Ubuntu 16.04 (Xenial)??,在 ??Ubuntu 16.04 (Xenial)?? 上安裝 Docker 可能會遇到一些問題,因為 Docker 官方已經停止支持 Xenial??。但仍有方法可以安裝,以下是 ??詳細的安裝方法??:

一、docker安裝

1.1 前期準備

  1. 如果已經安裝了docker容器,需要刪除后重新安裝(新安裝可忽略),操作如下:
systemctl stop docker
apt-get remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm /etc/apt/sources.list.d/docker.list
rm -rf /etc/apt/keyrings
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do  apt-get remove $pkg; done

1
3. 檢查網絡連接,確保你的網絡連接正常,并且可以訪問 download.docker.com:ping download.docker.com

1.2 使用 Docker 官方安裝腳本安裝(推薦)

  1. 安裝相關庫:
# 更新系統包索引
apt-get update
# 安裝一些必要的依賴包,以便通過HTTPS獲取倉庫:
apt-get install ca-certificates curl gnupg ntpdate apt-transport-https software-properties-common libltdl7 libseccomp2 iptables pigz
apt-get install --reinstall openssl libssl-dev
# 同步時間:
ntpdate pool.ntp.org
  1. 更新存儲庫:apt-get update
    1
  2. 進入docker官網https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/armhf/,查看服務器對應的操作系統有哪些匹配的docker版本,再根據需要下載適用于 armvf 的 Docker 16.04(兼容 Xenial)的版本:
    1
    執行命令下載:
wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/armhf/docker-ce_20.10.7~3-0~ubuntu-xenial_armhf.deb
wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/armhf/docker-ce-cli_20.10.7~3-0~ubuntu-xenial_armhf.deb
wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/armhf/containerd.io_1.4.6-1_armhf.deb

如果命令下載太慢,也可以通過網頁下載后,上傳到服務器

  1. 安裝docker:
# 安裝
dpkg -i containerd.io_*.deb
dpkg -i docker-ce-cli_*.deb
dpkg -i docker-ce_*.deb
# 修復依賴
apt-get install -f 

1
6

如果出現啟動異常的情況,如下:
2
可能原因及方案:Docker 版本與系統不兼容??,需要降版本
Ubuntu 16.04 (Xenial) 官方支持的最高 Docker 版本是 18.06.3,你安裝的 20.10.7 可能不兼容,需要降級到18.06.3
卸載當前版本 :apt-get purge docker-ce docker-ce-cli containerd.io
裝兼容版本: apt-get install docker-ce=18.06.3~ce~3-0~ubuntu docker-ce-cli=18.06.3~ce~3-0~ubuntu containerd.io=1.2.6-3

  1. 檢查 Docker 是否安裝成功:docker --version
  2. 設置開機自啟:systemctl enable docker
  3. 啟動 Docker 服務??: systemctl restart docker
    2
  4. 配置docker:vi /etc/docker/daemon.json

(1)配置國內鏡像加速源 - 選擇 1-2 個即可

  • 網易: “https://hub-mirror.c.163.com”,
  • 百度: “https://mirror.baidubce.com”,
  • 中科大: “https://docker.mirrors.ustc.edu.cn”,
  • Docker 中國官方:“https://registry.docker-cn.com”

(2)配置日志方式 - 根據實際情況設置:

  • ?? json-file 驅動:
    “log-driver”: “json-file” ->??將容器日志以JSON格式存儲在每個容器的主機文件上。這是Docker默認的日志驅動。
  • 日志輪轉設置: “log-opts”: {
    “max-size”: “5m”,//當日志文件達到5MB時,會自動輪轉(即創建一個新的日志文件)
    “max-file”: “3”//最多保留3個日志文件(當前日志 + 2個歸檔日志),舊的日志文件會被自動刪除
    }

修改內容為:

{"registry-mirrors": ["https://mirror.baidubce.com","https://registry.docker-cn.com"],"log-driver": "json-file","log-opts": {"max-size": "5m","max-file": "3"}
}

11
保存文件后重啟 Docker 服務:

systemctl daemon-reload
systemctl restart docker
  1. 驗證配置是否生效:docker info
    11

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

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

相關文章

.Net框架,除了EF還有很多很多......

文章目錄 1. 引言2. Dapper2.1 概述與設計原理2.2 核心功能與代碼示例基本查詢多映射查詢存儲過程調用 2.3 性能優化原理2.4 適用場景 3. NHibernate3.1 概述與架構設計3.2 映射配置示例Fluent映射XML映射 3.3 查詢示例HQL查詢Criteria APILINQ提供程序 3.4 高級特性3.5 適用場…

MySQL:InnoDB架構(內存架構篇)

目錄 0.前置知識 0.1二級索引的概念 二級索引查詢原理 1.整體架構 1.1為什么innoDB的架構會分為兩個部分? 2.內存架構 2.1BufferPool 2.2ChangeBuffer 唯一性檢查不是實時性會出現的問題? ChangeBuffer的優勢 2.3Adaptive Hash Index 2.4LogBuffer 0.前置知識 0.…

鷹盾加密器“一機一碼”技術全維度剖析:從底層實現到生態防護體系

“一機一碼”加密技術的深度解析與實現路徑 引言 在數字內容版權保護和軟件授權管理領域,“一機一碼”技術作為一種重要的安全防護手段,能夠有效防止授權碼濫用和非法傳播。它通過建立設備與授權碼的唯一對應關系,確保每份授權僅在特定設備…

Android 中使用 OkHttp 創建多個 Client

在 Android 開發中,有時我們需要創建多個 OkHttpClient 實例來滿足不同的網絡請求需求。以下是創建和管理多個 OkHttpClient 的方法: 基本創建方式 // 創建默認的 OkHttpClient val defaultClient OkHttpClient()// 創建帶有自定義配置的 Client val …

C++中的跳轉語句

C中的跳轉語句包括break、continue和goto,它們用于改變程序的正常執行流程。下面分別介紹它們的作用、使用場景和注意事項: 1. break 作用: ? 立即終止當前所在的循環(for、while、do while)或switch語句&#xff…

AI在網絡安全領域的應用現狀和實踐

當前,人工智能技術已深度融入網絡安全產品,推動傳統防御模式向智能化、自適應方向加速演進。各安全廠商通過機器學習、深度學習與知識圖譜等技術的融合應用,提高安全產品在威脅檢測、攻擊溯源、風險評估等場景的能力躍遷,突破傳統…

線程同步:確保多線程程序的安全與高效!

全文目錄: 開篇語前序前言第一部分:線程同步的概念與問題1.1 線程同步的概念1.2 線程同步的問題1.3 線程同步的解決方案 第二部分:synchronized關鍵字的使用2.1 使用 synchronized修飾方法2.2 使用 synchronized修飾代碼塊 第三部分&#xff…

Spark 之 DataFrame 開發

foreachPartition val data = spark.sparkContext.parallelize(1 to 100)// 使用 foreachPartition 批量處理分區 data.foreachPartition {partitionIterator =

UDP:簡潔高效的報文結構解析與關鍵注意事項

UDP(User Datagram Protocol)以其無連接、低開銷的特性,成為實時應用(如視頻、游戲、DNS)的首選傳輸協議。深入理解其報文結構和注意事項,是高效利用UDP的基礎。 一、UDP報文結構:簡潔的四段式 …

Cursor 工具項目構建指南:讓 AI 審查 AI 生產的內容,確保生產的內容質量和提前發現問題

簡簡單單 Online zuozuo: 簡簡單單 Online zuozuo 簡簡單單 Online zuozuo 簡簡單單 Online zuozuo 簡簡單單 Online zuozuo :本心、輸入輸出、結果 簡簡單單 Online zuozuo : 文章目錄 Cursor 工具項目構建指南:讓 AI 審查 AI 生產的內容,確保生產的內容質量和提前發現問…

Appium+python自動化(十六)- ADB命令

簡介 Android 調試橋(adb)是多種用途的工具,該工具可以幫助你你管理設備或模擬器 的狀態。 adb ( Android Debug Bridge)是一個通用命令行工具,其允許您與模擬器實例或連接的 Android 設備進行通信。它可為各種設備操作提供便利,如安裝和調試…

企業中使用 MCP Server 實現業務打通

一、MCP 協議深度剖析 (一)技術架構解析 核心價值 MCP(Model Context Protocol)協議的核心價值在于解決 Function Call 的碎片化問題,提供標準化工具連接協議。它通過統一的上下文管理,使大語言模型(LLM)能夠高效地訪問外部資源、執行復雜任務,并實現與外部系統的動…

自己編寫一個神經網絡模型識別數字驗證碼(卷積神經網絡的 Hello world)

開篇之前說明一下:本文純粹是技術交流和探討,所用數據為非公開數據集,僅限于學習,不可用以商業和其他用途。 一、項目目標 通過構建一個簡單的 CNN 神經網絡,實現對 數字驗證碼(如 “7384”) 的…

常用ADB命令

ADB:Android Debug Bridge,Android 調試橋。 是一個命令行工具,主要用于在開發過程中實現計算機與Android設備之間的通信。 ADB工具允許開發者執行一系列調試操作,如安裝應用、管理應用的生命周期、讀取日志數據、執行shell命令等…

JavaScript BOM 詳細介紹

JavaScript BOM (Browser Object Model) 詳細介紹 BOM (Browser Object Model) 是瀏覽器對象模型,它提供了與瀏覽器窗口交互的對象和方法,允許 JavaScript 與瀏覽器"對話"。 1. BOM 概述 BOM 的核心是 window 對象,它代表瀏覽器…

DeepSeek生成流程圖

通過DeepSeek生成代碼 請用 Mermaid 語法生成一個電商訂單處理流程的流程圖,流程包括用戶下單、訂單審核、庫存檢查、生成發貨單、發貨以及各個環節可能出現的分支情況,如訂單審核不通過返回修改,庫存不足通知用戶等 打開在線繪圖 Flowchart…

WebGL與Three.js:從基礎到應用的關系與原理解析

WebGL 和 Three.js 是現代網頁中實現 3D 圖形和動畫的兩大關鍵技術。盡管它們有著緊密的關系,但它們在功能和使用場景上有所不同。簡單來說,WebGL 是一個底層圖形庫,提供了對計算機 GPU 的直接訪問,而 Three.js 則是建立在 WebGL …

Spring Boot消息系統開發指南

消息系統基礎概念 消息系統作為分布式架構的核心組件,實現了不同系統模塊間的高效通信機制。其應用場景從即時通訊軟件延伸至企業級應用集成,形成了現代軟件架構中不可或缺的基礎設施。 通信模式本質特征 同步通信要求收發雙方必須同時在線交互&#…

JavaWeb筆記

六、MVC模式 ? Model(模型) 職責:處理數據和業務邏輯。 負責數據的存儲、讀取和操作。 包含業務規則和邏輯。 ? View(視圖) 職責:展示界面和接收用戶輸入。 把數據以可視化的形式呈現給用戶。 不處…

解決啟動SpringBoot是報錯Command line is too long的問題

文章目錄 錯誤全稱原因解決方法(一圖到底) 錯誤全稱 在啟動springBoot項目時,會報錯: Error running Application. Command line is too long. Shorten the command line via JAR manifest 原因 命令行太長的原因導致SpringBoot和…