一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 在Centos7 中更改Docker默認鏡像和容器的位置

在Centos7 中更改Docker默認鏡像和容器的位置

2021-01-23 19:51飛走不可 服務器知識

這篇文章主要介紹了在Centos7 下更改Docker默認鏡像和容器的位置,需要的朋友可以參考下

一、Why?

通常,當你開始使用docker時,我們并不太關心Docker 用于存儲鏡像容器的默認目錄。當使用Docker進行更多實驗時,Docker開始占用大量的空間時,你不得不按下緊急按鈕。所以現在是時候把故障排除放在如何改變docker的默認存儲位置了。費了很大力瀏覽了許多網站和論壇后,我無法確定在Centos7主機上更改Docker鏡像和容器的默認目錄的步驟。這篇文章提供了特定于Centos7的說明(它也適用于RHEL7)。對于Debian,我可以找到很多文檔和“如何”在互聯網上發布相關的文章,但Centos7 沒有多少。

二、How?

在試圖改變Docker的默認存儲位置時,我們必須知道一些重要的信息。

 Docker 當前使用的默認存儲位置
 Docker 當前使用的存儲驅動程序

 鏡像和容器要存放的新存儲空間

Docker 默認的位置在/var/lib/docker,當前所有的鏡像、容器都存儲在這兒。如果你有任何在運行的容器,停止這些容器,并確保沒有容器在運行,然后運行以下命令,確定當前Docker使用的存儲驅動。(你會在后面的文章中找出為什么要記錄它)

?
1
# docker info

在輸出的信息中,查找Storage Driver那行,并記下它。在我的主機上是devicemapper。下一步是停止Docker 服務

?
1
sudo systemctl stop docker

創建一個Drop-In 文件

下一步是在/etc/systemd/system/docker.service.d 目錄下創建一個Drop-In文件“docker.conf”,默認 docker.service.d 文件夾不存在。所以你必須先創建它。

?
1
2
# 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增加如下內容:

?
1
2
3
4
# 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服務了。這將改變新的鏡像和容器的存儲位置。

?
1
2
# sudo systemctl daemon-reload
# sudo systemctl start docker

為了確認一切順利,運行 # docker info 命令檢查Docker 的根目錄.它將被更改為/mnt/new_volume

如果你已經有存在的容器和鏡像,該怎么辦?

如果你想將現有的容器和鏡像遷移到新的位置,在修改docker.conf之后,不要重新加載daemon守護程序和啟動docker服務 ,(譯者注:在不添加docker.conf文件的方式下,使用軟鏈接的方法進行改變根目錄。)將/var/lib/docker 中已存在的數據移動到新的位置里。然后創建一個符號鏈接。

Note:我沒有嘗試過以下方式,因為我不需要保留現有的容器和鏡像,但這些步驟應該有效;如果你遇到任何問題和其它任何替代的方法請在下方評論。我會修改帖子。在你準備嘗試冒險之前,請備份一下你的數據。

?
1
# cp -rp /var/lib/docker /mnt/new_volume

創建軟鏈接(譯者注:創建軟鏈之前,請先將原/var/lib/docker目錄修改為其它名字,如/var/lib/docker-backup)

?
1
2
# mv /var/lib/docker /var/lib/docker-backup-2017-0510
# ln -s /mnt/new_volume/docker /var/lib/docker

然后重新加載 daemon守護程序和 啟動 docker服務。(譯者注:這里無需重新加載daemon守護程序,只需啟動docker 服務即可)

?
1
2
# sudo systemctl daemon-reload
# sudo systemctl start docker

現在已存在的數據應該在軟鏈的源目錄內,以及新的容器和鏡像將存儲在新的位置里,即/mnt/new_volume/docker ,運行 # docker info 進行確認。

(譯者注:步驟正確的話,此時根目錄應該指向了軟鏈接的源目錄 /mnt/new_volume/docker,如下:)

?
1
2
3
4
...省略輸出
Name: docker
ID: 5WBA:EF4D:WQ7P:DVRN:JCI4:LWDT:XSR2:G7RE:F5TI:PD3B:A57K:E4QA
Docker Root Dir: /mnt/new_volume/docker

...省略輸出

 備注:文中有斜體并有橫線的字體的意思是原文作者的有誤之處(英語不好,如有誤解原文之意還請各位大牛及時指出,不吝賜教),相關位置都有注釋。

以上所述是小編給大家介紹的在Centos7 中更改Docker默認鏡像和容器的位置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/hanyifeng/p/6837512.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 被18号每天强行榨干acg | 丰满大乳欲妇三级k8 | 国产精品久久久久久久免费大片 | 歪歪漫画a漫入口 | 欧美精品一区二区三区免费 | 日韩高清在线观看 | 婷婷久久精品 | 男人狂躁女人下面狂叫图片 | 我的漂亮朋友在线观看全集免费 | 亚洲AV无码专区国产乱码网站 | 日本一道高清不卡免费 | 亚洲系列国产精品制服丝袜第 | 色噜噜狠狠色综合 | 天天综合网天天做天天受 | 精品免费视在线视频观看 | 996热在线视频 | 成人免费视频一区 | 亚洲男人天堂网站 | 国产真实偷乱视频在线观看 | 国产裸露片段精华合集链接 | 亚洲高清免费在线观看 | 国产日韩视频一区 | 狠狠五月天中文字幕 | 欧美在线观看网址 | 亚洲欧美一区二区三区不卡 | 91久久国产露脸精品 | 大胆暴露亚洲美女xxxx | 欧美在线成人免费国产 | 国产香蕉一区二区在线观看 | 饭冈加奈子在线播放观看 | 日本一级不卡一二三区免费 | 俄罗斯图书馆无打码久久 | 玩50岁四川熟女大白屁股直播 | 日韩高清成人毛片不卡 | 欧美一级裸片又黄又裸 | 91免费精品国自产拍在线不卡 | 国产精品怡红院永久免费 | 爱爱小视频免费看 | 日韩免费观看成第15集 | 国产爱啪啪| 教室眠催白丝美女校花 |