Docker 服務搭建

💢歡迎來到張翊塵的開源技術站
💥開源如江河,匯聚眾志成。代碼似星辰,照亮行征程。開源精神長,傳承永不忘。攜手共前行,未來更輝煌💥

文章目錄

  • `Docker` 服務搭建
    • 在 `Ubuntu` 上安裝 `Docker`
      • 更新軟件包索引
      • 安裝依賴包
      • 添加密鑰
      • 添加 `docker` 倉庫源
      • 更新軟件包索引
      • 確保從官方源安裝
      • 安裝服務
      • 將當前用戶添加到 `docker` 組
      • 驗證
      • 設置開機自啟
    • 在 `CentOS` 上安裝 `Docker`
      • 更新軟件包索引
      • 安裝依賴項
      • 添加 `Docker` 的官方軟件源
      • 安裝 `Docker`
      • 啟動并啟用 `Docker` 服務
      • 驗證 `Docker` 安裝
    • `Docker` 安裝后的常見配置
      • 添加非 `root` 用戶到 `Docker` 組
      • 修改鏡像下載加速器:
      • 修改 `Docker` 存儲位置
      • 啟用或禁用 `Docker` 的日志級別
      • 配置 `Docker` 默認橋接網絡的 `IP` 地址
      • 限制容器的資源使用
      • 自動清理掛起的容器和未使用的鏡像
      • 查看當前 `Docker` 的配置信息
      • 驗證 `Docker` 配置
      • 限制日志文件大小
      • 修改 `Docker` 的 `Cgroup Driver`

Docker 服務搭建

Ubuntu 上安裝 Docker

更新軟件包索引

sudo apt-get update

安裝依賴包

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

添加密鑰

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

如果無法訪問外網,則使用國內倉庫:

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加 docker 倉庫源

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

如果無法訪問外網,則使用國內倉庫:

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

更新軟件包索引

sudo apt-get update

確保從官方源安裝

apt-cache policy docker-ce

安裝服務

sudo apt-get install -y docker-ce

將當前用戶添加到 docker

sudo usermod -aG docker ${USER}

驗證

docker --version

設置開機自啟

sudo systemctl enable docker.service

CentOS 上安裝 Docker

更新軟件包索引

sudo yum update

安裝依賴項

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

添加 Docker 的官方軟件源

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

如果無法訪問外網,則使用國內倉庫:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安裝 Docker

sudo yum install docker-ce docker-ce-cli containerd.io

啟動并啟用 Docker 服務

sudo systemctl start docker
sudo systemctl enable docker

驗證 Docker 安裝

sudo docker --version
sudo docker run hello-world

Docker 安裝后的常見配置

默認配置文件位置:/etc/docker/daemon.json

添加非 root 用戶到 Docker

默認情況下,Docker 需要 root 權限。如果希望讓非 root 用戶可以運行 Docker,執行以下命令:

sudo usermod -aG docker $USER

修改鏡像下載加速器:

  • 阿里云:https://<你的加速器ID>.mirror.aliyuncs.com
  • 騰訊云:https://mirror.ccs.tencentyun.com
  • Docker 中國官方:https://registry.docker-cn.com

國內使用 Docker 時,默認的鏡像下載速度可能較慢。你可以通過配置鏡像加速器來提升下載速度。在 /etc/docker/daemon.json 中添加:

{"registry-mirrors": ["https://<阿里云鏡像加速器地址>"]
}

修改 Docker 存儲位置

Docker 默認會將所有的鏡像、容器、數據卷等存儲在 /var/lib/docker 目錄下。如果需要更改存儲位置,可以在配置文件中修改。在 /etc/docker/daemon.json 中添加或修改以下內容:

{"data-root": "/new/path/to/docker"
}

這會將 Docker 的所有數據(鏡像、容器、卷等)存儲到 /new/path/to/docker 路徑下。

啟用或禁用 Docker 的日志級別

  • "debug":最詳細的日志信息。
  • "info":默認級別,記錄常規的日志信息。
  • "warn":僅記錄警告信息。
  • "error":僅記錄錯誤信息。
  • "fatal":僅記錄嚴重錯誤。

Docker 默認會記錄日志,有時候需要根據問題的嚴重性調整日志的詳細程度。可以在配置文件中設置日志級別。

{"log-level": "error"
}

配置 Docker 默認橋接網絡的 IP 地址

默認情況下,Docker 使用 172.17.0.0/16 網段為容器分配 IP。如果與現有網絡發生沖突,可以修改默認的橋接網絡配置。

{"bip": "192.168.1.5/24"
}

限制容器的資源使用

  • --memory="1g":將容器的內存限制為 1GB。
  • --cpus="1.5":限制容器使用最多 1.5 個 CPU。
  • --memory-swap="2g":指定容器的 swap 大小。

如果需要限制容器的 CPU 和內存使用,可以通過配置容器的資源限制。啟動容器時,通過命令行參數配置:

docker run -d --name my_container --memory="1g" --cpus="1.5" --memory-swap="2g" my_image

自動清理掛起的容器和未使用的鏡像

Docker 容器和鏡像長期不清理會占用大量存儲空間,可以啟用自動清理功能。在 /etc/docker/daemon.json 中添加:

{"live-restore": true
}

查看當前 Docker 的配置信息

docker info

驗證 Docker 配置

dockerd --config-file /etc/docker/daemon.json

限制日志文件大小

  • max-size:限制每個日志文件的大小,10m 表示 10MB
  • max-file:限制日志文件的數量,超過 3 個文件時,舊的日志文件將被刪除。

Docker 容器運行時會產生大量日志,可能會占用大量存儲空間。你可以限制日志文件的大小和保留數量。修改 /etc/docker/daemon.json 文件,添加以下配置:

{"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"}
}

修改 DockerCgroup Driver

Docker 中,Cgroup Driver 決定了 Docker 容器如何與 Linuxcgroups(控制組)子系統進行交互,用于管理和限制容器的資源使用。Docker 支持兩種 Cgroup Driversystemdcgroupfs

默認情況下,Docker 通常使用 cgroupfs,但如果系統使用了 systemd,推薦切換為 systemd 驅動,以便更好地與系統集成。

{"exec-opts": ["native.cgroupdriver=systemd"]
}

🌺🌺🌺撒花!

如果本文對你有幫助,就點關注或者留個👍
如果您有任何技術問題或者需要更多其他的內容,請隨時向我提問。
在這里插入圖片描述

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

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

相關文章

CRM系統接入DeepSeek大模型應用場景方案

1. 項目背景與目標 在當前數字化轉型的浪潮中&#xff0c;客戶關系管理&#xff08;CRM&#xff09;系統已成為企業提升客戶服務效率、優化銷售流程的核心工具。然而&#xff0c;傳統CRM系統普遍面臨數據處理能力有限、客戶洞察深度不足、響應效率低下等問題。例如&#xff0c…

步進電機中斷函數解釋

STM32 motor111.c 中 HAL_TIM_PeriodElapsedCallback 函數逐行解釋 下面我們對 STM32 項目中 motor111.c 文件里的 HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) 函數進行逐行解析&#xff0c;幫助初學者理解每一行代碼的作用。此函數是在定時器產生更新中斷時被調…

什么是Linux中的systemd?

寫在前面 為什么要回過頭來復習linux的system的&#xff0c;最近在研究DELL EMC的PowerStore存儲系統&#xff0c;其底層是基于CoreOS開發的&#xff0c;這套操作系統是基于Systemd來設計的。所以要深入了解PowerStore就必須對systemd做詳細了解。 systemd 是一個用于 Linux …

Linux 環境下 Mysql 5.7 數據定期備份

目錄 一、創建數據備份腳本二、查看備份日志三、數據庫數據恢復 備份策略&#xff1a; 系統環境 openEuler 22.03 (LTS-SP4) 單機備份 每天凌晨2點&#xff0c;指定數據庫表全量備份&#xff0c;只保留近7次備份數據 每次的腳本執行&#xff0c;將會記錄執行結果到日志&#xf…

C 語言字符輸入:掌握 getchar 和 scanf 的用法與陷阱

各類資料學習下載合集 ??https://pan.quark.cn/s/8c91ccb5a474?? C 語言字符輸入:掌握 getchar 和 scanf 的用法與陷阱 你好!在 C 語言編程中,與用戶進行交互最基本的方式就是通過標準輸入和標準輸出。我們之前探討了如何使用 ??printf?? 和 ??putchar?? 進行…

【React】 Hooks useTransition 解析與性能優化實踐

1.背景 useTransition 是 React 18 引入的一個并發模式下的 Hook&#xff0c;用于區分緊急和非緊急的狀態更新&#xff0c;提升應用的響應性和用戶體驗;它可以管理 UI 中的過渡狀態&#xff0c;特別是在處理長時間運行的狀態更新時。它允許你將某些更新標記為“過渡”狀態&…

蘑菇管理——AI與思維模型【94】

一、定義 蘑菇管理思維模型是一種形象地描述組織對待新員工或初入職場者的管理方式及相關現象的思維模型。它將新員工或初入職場者比作蘑菇&#xff0c;這些人在初期往往被置于陰暗的角落&#xff08;不受重視的部門&#xff0c;或打雜跑腿的工作&#xff09;&#xff0c;澆上…

c++STL——set和map的使用

文章目錄 set和map的使用set系列聲名和定義默認成員函數迭代器set的增刪查lower_bound和upper_boundInsert接口pair類 對于查找的另一種使用 set和multiset的區別 map系列聲名和定義pair類的進一步介紹默認成員函數map的增刪查map的數據修改map和multimap的差異 set和map的使用…

什么是DGI數據治理框架?

DGI數據治理框架是由數據治理研究所&#xff08;Data Governance Institute, DGI&#xff09;提出的一套系統性方法論&#xff0c;旨在幫助企業或組織建立有效的數據治理體系&#xff0c;確保數據資產的高質量管理、合規使用和價值釋放。以下是關于DGI數據治理框架的核心內容&a…

chrome 瀏覽器怎么不自動提示是否翻譯網站

每次訪問外國語網頁都會彈出這個對話框&#xff0c;很是麻煩&#xff0c;每次都得手動關閉一下。 不讓他彈出來方法&#xff1a; 設置》語言》首選語言》添加語言&#xff0c;搜索英語添加上 如果需要使用翻譯&#xff0c;就點擊三個點&#xff0c;然后選擇翻譯

LeetCode 熱題 100 54. 螺旋矩陣

LeetCode 熱題 100 | 54. 螺旋矩陣 大家好&#xff0c;今天我們來解決一道經典的算法題——螺旋矩陣。這道題在LeetCode上被標記為中等難度&#xff0c;要求我們按照順時針螺旋順序返回矩陣中的所有元素。下面我將詳細講解解題思路&#xff0c;并附上Python代碼實現。 問題描述…

生成式AI將重塑的未來工作

在人類文明的長河中,技術革命始終是推動社會進步的核心動力。從蒸汽機的轟鳴到互聯網的浪潮,每一次技術躍遷都在重塑著人類的工作方式與生存形態。而今,生成式人工智能(Generative AI)的崛起,正以超越以往任何時代的速度與深度,叩響未來工作范式變革的大門。這場變革并非…

【2025軟考高級架構師】——2024年05月份真題與解析

摘要 本文內容是關于2025年軟考高級架構師考試的相關資料&#xff0c;包含2024年05月份真題與解析。其中涉及體系結構演化的步驟、OSI協議中能提供安全服務的層次、數據庫設計階段中進行關系反規范化的環節等知識點&#xff0c;還提及了軟考高級架構師考試的多個模塊&#xff…

KAG:通過知識增強生成提升專業領域的大型語言模型(三)

目錄 摘要 Abstract 1 Schema 2 Prompt 3 KAG-Builder 3.1 reader 3.2 splitter 3.3 extractor 3.4 vectorizer 3.5 writer 3.6 可選組件 4 示例 總結 摘要 本周深入學習了 KAG 項目中的 Schema、Prompt 以及 KAG-Builder 相關代碼知識&#xff0c;涵蓋了其定義、…

Gitea windows服務注冊,服務啟動、停止、重啟腳本

修改配置文件 查看COMPUTERNAME echo %COMPUTERNAME%進入配置文件D:\gitea\custom\conf\app.ini&#xff0c;將 Gitea 設置為以本地系統用戶運行 如果結果是 USER-PC&#xff0c;那么 RUN_USER USER-PC$ RUN_USER COMPUTERNAME$SQLite3 PATH配置&#xff0c;更改為包含完整…

礦泉水瓶的繪制

1.制作中心矩形&#xff0c;大小為60&#xff0c;注意設置矩形的兩條邊相等 2.點擊拉伸&#xff0c;高度為150mm 3.使用圓角命令&#xff0c;點擊連接到開始面&#xff0c;同時選中4條邊&#xff0c;進行圓角轉化&#xff0c;圓角大小為10mm&#xff0c;點擊多半徑圓角&#xf…

【程序+論文】大規模新能源并網下的火電機組深度調峰經濟調度

目錄 1 主要內容 講解重點 2 講解視頻及代碼 1 主要內容 該視頻為《大規模新能源并網下的火電機組深度調峰經濟調度》代碼講解內容&#xff0c;該程序有完全對照的論文&#xff0c;以改進IEEE30節點作為研究對象&#xff0c;系統包括5個火電機組和2個新能源機組&#xff0c;…

??工業機器人智能編程:從示教器到AI自主決策??

工業機器人智能編程:從示教器到AI自主決策 引言 工業機器人作為智能制造的核心裝備,其編程方式正經歷革命性變革。傳統示教器編程效率低下,平均每個路徑點需要30秒人工示教,而復雜軌跡編程可能耗時數周。隨著AI技術的發展,工業機器人編程正朝著"所見即所得"的…

n8n 構建一個 ReAct AI Agent 示例

n8n 構建一個 ReAct AI Agent 示例 0. 引言1. 詳細步驟創建一個 "When Executed by Another Workflow"創建一個 "Edit Fields (Set)"再創建一個 "Edit Fields (Set)"創建一個 HTTP Request創建一個 If 節點在 true 分支創建一個 "Edit Fiel…

Monorepo項目多項目一次性啟動工具對比與實踐

Monorepo項目多項目一次性啟動工具對比與實踐 在現代軟件開發中&#xff0c;Monorepo&#xff08;單一倉庫&#xff09;模式越來越受到開發者的青睞。Monorepo將多個相關的項目或包集中在一個倉庫中進行管理&#xff0c;方便依賴共享、代碼復用和統一發布。在Monorepo項目開發…