您好,登錄后才能下訂單哦!
本篇內容主要講解“CentOS中怎么修改Docker的默認鏡像和容器存儲位置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CentOS中怎么修改Docker的默認鏡像和容器存儲位置”吧!
在試圖改變Docker的默認存儲位置時,我們必須知道一些重要的信息。
Docker 當前使用的默認存儲位置
Docker 當前使用的存儲驅動程序
鏡像和容器要存放的新存儲空間
Docker 默認的位置在/var/lib/docker,當前所有的鏡像、容器都存儲在這兒。如果你有任何在運行的容器,停止這些容器,并確保沒有容器在運行,然后運行以下命令,確定當前Docker使用的存儲驅動。(你會在后面的文章中找出為什么要記錄它)
# docker info
在輸出的信息中,查找Storage Driver那行,并記下它。在我的主機上是devicemapper。下一步是停止Docker 服務
# sudo systemctl stop docker
創建一個Drop-In 文件
下一步是在/etc/systemd/system/docker.service.d 目錄下創建一個Drop-In文件“docker.conf”,默認 docker.service.d 文件夾不存在。所以你必須先創建它。
# sudo mkdir /etc/systemd/system/docker.service.d# sudo touch /etc/systemd/system/docker.service.d/docker.conf
創建Drop-In 文件的原因,是我們希望Docker 服務,使用docker.conf文件中提到的特定參數,將默認服務所使用的位于/lib/systemd/system/docker.service文件中的參數進行覆蓋。如果你想深入了解Drop-In,請閱讀system.unit文檔
現在打開docker.conf增加如下內容:
# sudo vi /etc/systemd/system/docker.service.d/docker.conf[Service] ExecStart= ExecStart=/usr/bin/dockerd --graph="/mnt/new_volume" --storage-driver=devicemapper
保存并退出VI編輯器,/mnt/new_volume 是新的存儲位置,而devicemapper是當前docker所使用的存儲驅動。如果你的存儲驅動有所不同,請輸入之前第一步查看并記下的值。Docker官方文檔中提供了更多有關各種存儲驅動器的信息。現在,你可以重新加載服務守護程序,并啟動Docker服務了。這將改變新的鏡像和容器的存儲位置。
# sudo systemctl daemon-reload# sudo systemctl start docker
為了確認一切順利,運行 # docker info 命令檢查Docker 的根目錄.它將被更改為/mnt/new_volume
如果你想將現有的容器和鏡像遷移到新的位置,在修改docker.conf之后,不要重新加載daemon守護程序和啟動docker服務 ,(譯者注:在不添加docker.conf文件的方式下,使用軟鏈接的方法進行改變根目錄。)將/var/lib/docker 中已存在的數據移動到新的位置里。然后創建一個符號鏈接。
Note:我沒有嘗試過以下方式,因為我不需要保留現有的容器和鏡像,但這些步驟應該有效;如果你遇到任何問題和其它任何替代的方法請在下方評論。我會修改帖子。在你準備嘗試冒險之前,請備份一下你的數據。
# cp -rp /var/lib/docker /mnt/new_volume
創建軟鏈接(譯者注:創建軟鏈之前,請先將原/var/lib/docker目錄修改為其它名字,如/var/lib/docker-backup)
# mv /var/lib/docker /var/lib/docker-backup-2017-0510# ln -s /mnt/new_volume/docker /var/lib/docker
然后重新加載 daemon守護程序和 啟動 docker服務。(譯者注:這里無需重新加載daemon守護程序,只需啟動docker 服務即可)
# sudo systemctl daemon-reload # sudo systemctl start docker
現在已存在的數據應該在軟鏈的源目錄內,以及新的容器和鏡像將存儲在新的位置里,即/mnt/new_volume/docker ,運行 # docker info 進行確認。
(譯者注:步驟正確的話,此時根目錄應該指向了軟鏈接的源目錄 /mnt/new_volume/docker,如下:)
…省略輸出
Name: docker ID: 5WBA:EF4D:WQ7P:DVRN:JCI4:LWDT:XSR2:G7RE:F5TI:PD3B:A57K:E4QA Docker Root Dir: /mnt/new_volume/docker
省略輸出
備注:文中有斜體并有橫線的字體的意思是原文作者的有誤之處(英語不好,如有誤解原文之意還請各位大牛及時指出,不吝賜教),相關位置都有注釋。
到此,相信大家對“CentOS中怎么修改Docker的默認鏡像和容器存儲位置”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。