Docker存儲目錄問題,如何修改Docker默認存儲位置?(Docker存儲路徑、Docker存儲空間)etc/docker/daemon.json

文章目錄

  • 如何更改docker默認存儲路徑?
    • 版本1(沒測試)
    • 版本2(可行)
      • 1. 停止 Docker 服務:
      • 2. 創建新的存儲目錄:
      • 3. 修改 Docker 配置文件:
      • 4. 移動現有的 Docker 數據:
      • 5. 重新啟動 Docker 服務:
      • 6. 驗證修改
      • 7. 真實驗證(記錄各時間點和存儲占用)
        • Thu 11 Jul 2024 01:33:57 PM CST(`/`Available 27445M)
        • Thu 11 Jul 2024 04:04:38 PM CST(`/`Available 27444M)
        • Fri 12 Jul 2024 01:51:59 PM CST(`/`Available 27444M)
  • 為什么存在以上兩種修改方法,有何異同?(修改`etc/systemd/system/docker.service.d/override.conf`和修改`etc/docker/daemon.json` )

如何更改docker默認存儲路徑?

版本1(沒測試)

默認情況下,Docker 在 Linux 上安裝時會將其數據(如鏡像和容器)存儲在 /var/lib/docker 目錄下,這個目錄通常位于根分區 /。如果你的根分區 / 的空間不足,你可以考慮將 Docker 的數據目錄移動到其他分區,或者在安裝 Docker 時直接配置它使用其他分區。

要更改 Docker 的默認存儲位置,你可以通過修改 Docker 的配置文件或在啟動 Docker 服務時設置環境變量來指定新的數據目錄。下面是一些步驟說明如何進行配置:

  1. 停止 Docker 服務:

    sudo systemctl stop docker
    

    在這里插入圖片描述

  2. 修改 Docker 配置文件(如果你使用的是 systemd):

    • 打開或創建 Docker 的 systemd 配置文件(一開始沒有這個文件是正常的):
      sudo vi /etc/systemd/system/docker.service.d/override.conf
      
    • 添加以下內容來指定新的數據目錄,假設你想將數據存儲在 /mnt/docker/
      [Service]
      ExecStart=
      ExecStart=/usr/bin/dockerd --data-root /mnt/docker -H fd:// --containerd=/run/containerd/containerd.sock
      
    • 保存并關閉文件。
  3. 重新加載 systemd 配置并重新啟動 Docker 服務:

    sudo systemctl daemon-reload
    sudo systemctl start docker
    
  4. 檢查 Docker 是否使用新的數據目錄:

    docker info | grep "Docker Root Dir"
    

確保新的數據目錄所在的分區有足夠的空間,以避免在使用 Docker 時遇到空間不足的問題。

版本2(可行)

要修改 Docker 的存儲路徑至 /data/docker,您可以按照以下步驟操作:

1. 停止 Docker 服務:

打開終端,使用以下命令停止 Docker 服務:

sudo systemctl stop docker.socket
sudo systemctl stop docker

一開始只執行一條停不了:
在這里插入圖片描述
在這里插入圖片描述
后面兩條執行就能停了:

在這里插入圖片描述

2. 創建新的存儲目錄:

如果 /data/docker 目錄還不存在,使用以下命令創建它:

sudo mkdir -p /data/docker

3. 修改 Docker 配置文件:

編輯 Docker 的 daemon 配置文件 /etc/docker/daemon.json。如果該文件不存在,您需要創建它。

sudo vi /etc/docker/daemon.json

在文件中添加或修改以下內容:

{"data-root": "/data/docker"
}

保存并關閉文件。

4. 移動現有的 Docker 數據:

如果您的 Docker 安裝中已經有數據,并且您希望保留這些數據,可以將現有的數據移動到新的目錄:

sudo rsync -aP /var/lib/docker/ /data/docker

在這里插入圖片描述

5. 重新啟動 Docker 服務:

使用以下命令重新啟動 Docker 服務:

sudo systemctl start docker.socket
sudo systemctl start docker

6. 驗證修改

檢查 Docker 是否正確使用新的存儲路徑,可以查看 Docker 信息:

docker info | grep 'Docker Root Dir'

在這里插入圖片描述

現在 Docker 已經成功地使用 /data/docker 作為其根目錄了。至于您看到的警告信息 “WARNING: No swap limit support”,這是一個常見的信息,指的是您的 Linux 系統上沒有啟用內存交換限制的支持。

在 Docker 中,這種警告通常不會影響 Docker 容器的正常運行,它只意味著 Docker 無法強制限制容器的交換內存使用量。這通常與 Linux 內核的某些配置有關,特別是 cgroup 的配置。

注意:如果不放心,可以執行mv /var/lib/docker /var/lib/docker_old備份檢測下

7. 真實驗證(記錄各時間點和存儲占用)

通過使用一下兩條命令:

date
df -BM
Thu 11 Jul 2024 01:33:57 PM CST(/Available 27445M)
root@ai-video-ecs-01:/userdata/tmp# date
Thu 11 Jul 2024 01:33:57 PM CST
root@ai-video-ecs-01:/userdata/tmp#
root@ai-video-ecs-01:/userdata/tmp#
root@ai-video-ecs-01:/userdata/tmp# df -BM
Filesystem                        1M-blocks  Used Available Use% Mounted on
udev                                 32078M    0M    32078M   0% /dev
tmpfs                                 6425M    4M     6422M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv    38122M 8911M    27445M  25% /
tmpfs                                32124M    0M    32124M   0% /dev/shm
tmpfs                                    5M    0M        5M   0% /run/lock
tmpfs                                32124M    0M    32124M   0% /sys/fs/cgroup
/dev/loop1                              64M   64M        0M 100% /snap/core20/2318
/dev/loop0                              64M   64M        0M 100% /snap/core20/1828
/dev/loop2                              50M   50M        0M 100% /snap/snapd/18357
/dev/loop3                              39M   39M        0M 100% /snap/snapd/21759
/dev/vda2                             1946M  109M     1719M   6% /boot
/dev/loop4                              92M   92M        0M 100% /snap/lxd/24061
/dev/sda1                           749867M 4140M   707565M   1% /ky
/dev/sda2                          9401234M 2884M  8924482M   1% /data
tmpfs                                 6425M    0M     6425M   0% /run/user/1000
overlay                            9401234M 2884M  8924482M   1% /data/docker/overlay2/c385332babdae4ee85601ffa1dd1ebe6c36fc1f618389ace09b2051731d5fa8c/merged
overlay                            9401234M 2884M  8924482M   1% /data/docker/overlay2/31a24b6f39c2ea25d700754b5c9ea78574e772589690437fd60e4b60fac15c0c/merged
overlay                            9401234M 2884M  8924482M   1% /data/docker/overlay2/88149e56439d9bad5b2b785f12ff77b6052c5ba369f53f9e12a38698c34615ce/merged
overlay                            9401234M 2884M  8924482M   1% /data/docker/overlay2/b2171ae8eaa2b4b6bf61de50165b2e885f6e2d4373d02fd1e492cc1d2158bd9b/merged
overlay                            9401234M 2884M  8924482M   1% /data/docker/overlay2/3e9af67e01934706a6712e2a6601292b105c26d5fecf82218f8d7ef65ca30b3d/merged
overlay                            9401234M 2884M  8924482M   1% /data/docker/overlay2/341e8bc8f48a17d24ee4005c45cda9e121bececd2b0fea5463b337acbce64f04/merged
overlay                            9401234M 2884M  8924482M   1% /data/docker/overlay2/6ee97fa0e1597535d0d70be41d5a3220c6f58ff033dba5388a53034afbeb8f5f/merged
root@ai-video-ecs-01:/userdata/tmp#
Thu 11 Jul 2024 04:04:38 PM CST(/Available 27444M)
hw@ai-video-ecs-01:~$ date
Thu 11 Jul 2024 04:04:38 PM CST
hw@ai-video-ecs-01:~$
hw@ai-video-ecs-01:~$ df -BM
Filesystem                        1M-blocks  Used Available Use% Mounted on
udev                                 32078M    0M    32078M   0% /dev
tmpfs                                 6425M    4M     6422M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv    38122M 8911M    27444M  25% /
tmpfs                                32124M    0M    32124M   0% /dev/shm
tmpfs                                    5M    0M        5M   0% /run/lock
tmpfs                                32124M    0M    32124M   0% /sys/fs/cgroup
/dev/loop1                              64M   64M        0M 100% /snap/core20/2318
/dev/loop0                              64M   64M        0M 100% /snap/core20/1828
/dev/loop2                              50M   50M        0M 100% /snap/snapd/18357
/dev/loop3                              39M   39M        0M 100% /snap/snapd/21759
/dev/vda2                             1946M  109M     1719M   6% /boot
/dev/loop4                              92M   92M        0M 100% /snap/lxd/24061
/dev/sda1                           749867M 4141M   707564M   1% /ky
/dev/sda2                          9401234M 2886M  8924479M   1% /data
tmpfs                                 6425M    0M     6425M   0% /run/user/1000
Fri 12 Jul 2024 01:51:59 PM CST(/Available 27444M)
root@ai-video-ecs-01:/userdata/tmp# date
Fri 12 Jul 2024 01:51:59 PM CST
root@ai-video-ecs-01:/userdata/tmp#
root@ai-video-ecs-01:/userdata/tmp# df -BM
Filesystem                        1M-blocks  Used Available Use% Mounted on
udev                                 32078M    0M    32078M   0% /dev
tmpfs                                 6425M    4M     6422M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv    38122M 8911M    27444M  25% /
tmpfs                                32124M    0M    32124M   0% /dev/shm
tmpfs                                    5M    0M        5M   0% /run/lock
tmpfs                                32124M    0M    32124M   0% /sys/fs/cgroup
/dev/loop1                              64M   64M        0M 100% /snap/core20/2318
/dev/loop0                              64M   64M        0M 100% /snap/core20/1828
/dev/loop2                              50M   50M        0M 100% /snap/snapd/18357
/dev/loop3                              39M   39M        0M 100% /snap/snapd/21759
/dev/vda2                             1946M  109M     1719M   6% /boot
/dev/loop4                              92M   92M        0M 100% /snap/lxd/24061
/dev/sda1                           749867M 4154M   707550M   1% /ky
/dev/sda2                          9401234M 2903M  8924463M   1% /data
tmpfs                                 6425M    0M     6425M   0% /run/user/1000
overlay                            9401234M 2903M  8924463M   1% /data/docker/overlay2/c385332babdae4ee85601ffa1dd1ebe6c36fc1f618389ace09b2051731d5fa8c/merged
overlay                            9401234M 2903M  8924463M   1% /data/docker/overlay2/31a24b6f39c2ea25d700754b5c9ea78574e772589690437fd60e4b60fac15c0c/merged
overlay                            9401234M 2903M  8924463M   1% /data/docker/overlay2/88149e56439d9bad5b2b785f12ff77b6052c5ba369f53f9e12a38698c34615ce/merged
overlay                            9401234M 2903M  8924463M   1% /data/docker/overlay2/b2171ae8eaa2b4b6bf61de50165b2e885f6e2d4373d02fd1e492cc1d2158bd9b/merged
overlay                            9401234M 2903M  8924463M   1% /data/docker/overlay2/3e9af67e01934706a6712e2a6601292b105c26d5fecf82218f8d7ef65ca30b3d/merged
overlay                            9401234M 2903M  8924463M   1% /data/docker/overlay2/341e8bc8f48a17d24ee4005c45cda9e121bececd2b0fea5463b337acbce64f04/merged
overlay                            9401234M 2903M  8924463M   1% /data/docker/overlay2/6ee97fa0e1597535d0d70be41d5a3220c6f58ff033dba5388a53034afbeb8f5f/merged
root@ai-video-ecs-01:/userdata/tmp#

為什么存在以上兩種修改方法,有何異同?(修改etc/systemd/system/docker.service.d/override.conf和修改etc/docker/daemon.json

在修改 Docker 的存儲位置時,可以通過修改 etc/docker/daemon.jsonetc/systemd/system/docker.service.d/override.conf 來實現,兩種方式都是正確的,但它們有不同的用途和適用情況:

  1. 修改 /etc/docker/daemon.json

    • 這種方法通過 Docker 的配置文件來設置 Docker 的默認行為,包括存儲位置、日志級別、網絡配置等。
    • 要修改存儲位置,你可以在 daemon.json 文件中設置 data-root 屬性,指向新的存儲路徑。例如:
      {"data-root": "/new/path/to/docker-data"
      }
      
    • 這種方法的優點是配置簡單,且直接通過 Docker 自己的配置文件進行管理,易于理解和維護。
  2. 修改 /etc/systemd/system/docker.service.d/override.conf

    • 這種方法適用于在使用 systemd 管理 Docker 服務的系統上。通過 systemd 的配置覆蓋文件來修改 Docker 服務的啟動參數。
    • 你可以通過創建或修改 override.conf 文件,添加一個新的 ExecStart 行,指定新的存儲位置。例如:
      [Service]
      ExecStart=
      ExecStart=/usr/bin/dockerd --data-root /new/path/to/docker-data
      
    • 注意,需要先清空原有的 ExecStart 設置(ExecStart=),然后重新定義。這樣可以確保使用你的自定義設置啟動 Docker。
    • 這種方法允許你對 Docker 的啟動過程進行更細粒度的控制,但相對復雜,需要對 systemd 的配置有一定了解。

總結:選擇哪種方法取決于你的具體需求和你對系統的控制級別。如果你希望通過 Docker 自身的配置來管理,使用 daemon.json 是更直接的方法。如果你需要更復雜的配置或者想要控制服務的啟動參數,使用 systemd 的 override.conf 方法會更合適。

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

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

相關文章

Java-svg格式的oss圖片鏈接轉換為png格式圖片字節流

一、引入依賴 <!--svg轉其他格式依賴--> <dependency><groupId>org.apache.xmlgraphics</groupId><artifactId>batik-transcoder</artifactId><version>1.14</version> </dependency> <dependency><groupId&g…

什么樣的服務器是合乎直銷網站標準

現在社會的發展,有著越來越多的人想要利用互聯網來做直銷。做好直銷行業系統解決方案離不開好的服務器支持,服務器的的穩定性和速度是直接影響網站后期運作,可以看做是網站的根基。 做網站直銷選擇租用服務器需要注意的幾點要素 一些大的直銷互聯網公司如安利、雅芳、康寶萊、玫…

【人工智能】自然語言處理(NLP)的突破,關注NLP在機器翻譯、情感分析、聊天機器人等方面的最新研究成果和應用案例。

自然語言處理&#xff08;NLP&#xff09;作為人工智能的一個重要分支&#xff0c;近年來取得了顯著的突破&#xff0c;特別在機器翻譯、情感分析、聊天機器人等領域取得了顯著的研究成果和廣泛的應用。以下是對這些領域最新研究成果和應用案例的概述&#xff0c;并附帶相應的代…

域名解析記錄與服務器源IP的探索

在互聯網中&#xff0c;域名和IP地址是進行網絡通信的基礎。用戶通常通過域名來訪問網站或服務&#xff0c;而實際的數據交換則發生在IP地址之間。域名解析&#xff08;DNS解析&#xff09;是將易于記憶的域名轉換為計算機可識別的IP地址的過程。本文將探討如何通過域名解析記錄…

Uniapp自定義動態加載組件(2024.7更新)

1.本次介紹如何使用uniapp實現自定義動態加載Loading的組件&#xff0c;可以gif格式&#xff0c;也可以mp4格式等; 編寫自定義Loading組件(CustomLoader.vue)&#xff1b;組件中含有“動態接收圖片路徑”&#xff0c;“10秒超時未false則自動斷開關閉Loading”&#xff1b;在全…

【JavaScript 算法】廣度優先搜索:層層推進的搜索策略

&#x1f525; 個人主頁&#xff1a;空白詩 文章目錄 一、算法原理二、算法實現三、應用場景四、優化與擴展五、總結 廣度優先搜索&#xff08;Breadth-First Search, BFS&#xff09;是一種用于遍歷或搜索圖或樹數據結構的算法。該算法從起始節點開始&#xff0c;逐層向外擴展…

小程序-2(WXML數據模板+WXSS模板樣式+網絡數據請求)

目錄 1.WXML數據模板 數據綁定 事件綁定 小程序中常用的事件 事件對象的屬性列表 target和currentTarget的區別 bindtap的語法格式 在事件處理事件中為data中的數據賦值 事件傳參與數據同步 事件傳參 bindinput的語法綁定事件 文本框和data的數據同步 條件渲染 w…

《向量數據庫指南》——使用 Grafana 和 Loki 搭建 Milvus Cloud日志查詢系統

本教程將介紹如何設置 Grafana 和 Loki 來有效監控您的 Milvus Cloud實例。 Milvus Cloud是一款分布式向量數據庫,可高效存儲、索引和管理萬億級 Embedding 向量,是搭建 AI 和 ML 應用的首選向量數據庫系統。 Grafana 是一個開源的指標監控平臺,提供可視化的指標和日志…

5,SSH 端口轉發

SSH 端口轉發 簡介 SSH 除了登錄服務器&#xff0c;還有一大用途&#xff0c;就是作為加密通信的中介&#xff0c;充當兩臺服務器之間的通信加密跳板&#xff0c;使得原本不加密的通信變成加密通信。這個功能稱為端口轉發&#xff08;port forwarding&#xff09;&#xff0c…

SpringCloud | 單體商城項目拆分(微服務)

為什么要進行微服務拆分&#xff1f; 在平常的商城項目中&#xff0c;我們一般的項目結構模塊都是將各種業務放在同一個項目文件夾&#xff0c;比如像&#xff1a; 用戶&#xff0c;購物車&#xff0c;商品&#xff0c;訂單&#xff0c;支付等業務都是放在一起&#xff0c;這樣…

thinkphp:數據庫多條件查詢

一、使用if條件限制查詢條件 $query Db::table(wip_operation_plan)->alias(d)->join([wip_jobs_all > a], a.wip_entity_name d.wip_entity_name)->join([sf_item_no > c], a.primary_itemc.item_no)->field(d.*,c.item_no as item_no,c.item_name as i…

線上觀看 3 萬+!「智能運維MeetUp」精彩回顧,探討智能體構建新方向

龍蜥社區“走進系列”第 11 期走進中興通訊-智能可觀測運維技術 MeetUp 于成都圓滿結束&#xff0c;由中興通訊聯合龍蜥社區系統運維聯盟&#xff08;SOMA&#xff09;&#xff08;以下簡稱“聯盟”&#xff09;共同舉辦。本次活動現場匯聚了阿里云、諧云科技、乘云數字、中興通…

MySQL數據庫day7.11

一&#xff0c;SQL概述 1.1 SQL語句語法 MySQL 數據庫的 SQL 語句不區分大小寫&#xff0c;關鍵字建議使用大寫&#xff0c; 以分號結尾。例如&#xff1a; SELECT * FROM user; 使用 /**/ 、 -- 、 # 的方式完成注釋 /* 多行注釋 */ -- 單行注釋 # 單行注釋 SELECT * FRO…

vue2 ant-design select組件自定義下拉框, dropdownRender 使用,以及遇到的坑

業務需求&#xff1a;下拉框需要滿足用戶可輸入篩選 和 點擊右側 字符按鈕 #A-Z進行用戶選擇 1、基礎頁面代碼 <div><a-selectstyle"width: 100%"placeholder"請選擇客戶"allow-clearshow-search:filter-option"false":not-found-con…

計算機硬件---如何更新自己電腦的BLOS

1找官網 例如“我使用的是HP&#xff08;惠普&#xff09;品牌的電腦”我只需要在瀏覽器上搜索“惠普官網”或“惠普-blos更新” 就可以看到&#xff0c;來自官網中更新blos的信息 2.有些品牌要查序列號該怎么辦呢&#xff1f; 有許多方法可以查詢&#xff0c;例如&#xf…

android13 frameworks里面常用的保存信息或者版本判斷的方法

總綱 android13 rom 開發總綱說明 目錄 1.前言 2. 數據庫 2.1 代碼讀取用法參考 3.prop 屬性配置 3.1 property的key值有哪些特點 4.區別 5. 其他數據存儲 6.彩蛋 1.前言 frameworks 不像我們一般開發app那樣,很多應用保存的方法都無法使用。這里記錄我們系統rom開…

Java性能優化-if-else簡化技巧

場景 Java性能優化-switch-case和if-else速度性能對比&#xff0c;到底誰快&#xff1f;&#xff1a; Java性能優化-switch-case和if-else速度性能對比&#xff0c;到底誰快&#xff1f;-CSDN博客 如果單純是做情景選擇&#xff0c;建議使用switch&#xff0c;如果必須使用i…

關于java的反射

???反射是啥呀相信許多學java的同學非常困惑在學的時候&#xff0c;總是感覺懂了卻又沒懂或者直接忽略過去了&#xff0c;那么本文就帶大家探討一下什么是反射在java中以及它的機制和運用。 ??什么是反射&#xff1a; 首先我們知道一些知識&#xff1a; 維基百科的解釋 …

武漢市集成電路領域重點產業鏈研究咨詢服務機構申報條件、時間

武漢市集成電路領域重點產業鏈研究咨詢服務機構公開遴選有關內容如下&#xff0c;武漢市的企業單位可以了解一下 一、采購內容 &#xff08;一&#xff09;項目名稱 武漢市集成電路領域重點產業鏈研究咨詢服務項目。 &#xff08;二&#xff09;項目內容 為進一步推動我市…

springboot項目 導入 maven坐標 錯誤 Could not transfer artifact XXX

1.報錯原因 當時導入的是 redis坐標 &#xff0c;導入jar 包報錯&#xff08;當時是網速太慢了&#xff0c;一直卡著不動 就關了 idea 重新下載&#xff09;結果報錯 之前的redis 項目都可以的&#xff0c;網上找了一下 都沒解決 2.解決辦法 既然說不能傳輸&#xff0c; 就說…