只有累積,沒有奇蹟

2019年3月2日 星期六

[Docker] 修改 Docker image 預設存放位置

問題 
最近在安裝新應用程式時發現系統硬碟 C 槽空間嚴重不足,公司筆電 128 G 的 SSD只剩不到 2G 空間可以使用,盤查後發現最近在公司筆電嘗試很多 Docker 應用,而這些 image 檔案都存在系統硬碟因而把系統硬碟灌爆,這篇分享在 Docker 中如何修改預設的儲存位置,來解決上述提到頭痛的問題,若有謬誤或是更快的方法歡迎留言一起討論。 

Windows Container
Docker Enginer 分為 windows 與 linux 兩種,以下分別介紹兩者的修改方式

查詢目前存放位置
首先可以先透過 docker info 指令來得知目前 Docker image 儲存的位置
可以得知目前兩個資訊
1. Docker 路徑為 C:\ProgramData\Docker 資料夾中
2. 存放 image 位置 Storage Driver 為 windowsfilter

修改 image 存放位置
Docker 官網中可以得知 config 檔案存放在 C:\ProgramData\Docker\Config 目錄底下的 daemon.json,要修改 image 下載位置及需要修改 daemon.json 內容,開啟 daemon.json 檔案加入 "graph": "path"
  1. {
  2. "registry-mirrors": [],
  3. "insecure-registries": [],
  4. "debug": true,
  5. "experimental": false,
  6. "graph": "D:\\DockerImage\"
  7. }
修改完畢後儲存 config 檔案,接著輸入下列指令重啟 docker service
  1. restart-service *docker*
或是輸入下列指令 
  1. Net stop com.docker.service
  2. Net start com.docker.service
重啟 Service 之後重新執行 Docker info 指令確認修改是否有成功
確認修改路徑成功 ! 也可以發現指定的目錄底下出現 Docker 相關的 folder 與檔案

備註 : 如果系統版本是 windows 10 pro 1809 版本很有可能會遇到執行 docker info 發生異常, 如下所示
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/info: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
出現上列錯誤訊息不用擔心,看似是修改 config 異常造成啟動失敗,但遇到時使用重新啟動即可正常使用 docker 相關指令。

Linux Container

如果使用的是 Linux 即可透過設定調整路徑位置
Step 1 : 點選 Docker Logo > settings
Step 2 : Advanced > 調整 Disk image location 設定

後記 
看似簡單的設定,卻花了不少時間才設定成功,主要是因為在 windows container 時設定完畢後一直出現錯誤訊息,上網查了許多官網資料都沒有新的線索,沒想到一重開就解決了,重開治百病這句話果然非常的實用阿 !!

參考
Where are images stored
Widnows 環境中修改 Docker image 的儲存位置

Related Posts:

  • [Docker] Image operating system "windows" cannot be used on this platform問題 接獲同事詢問在安裝完 Docker for Windows 之後,練習指令 docker pull image 時候跳出異常訊息,訊息內容為 image operating system "windows" cannot be used on this platform ,回想起自己一開始觀念不熟悉時也發生過類似問題,錯誤訊息如下所示 PS C:\marcustung> docker pull someone/image:l… Read More
  • [CheatSheets] Docker Command Diagram 前言  最近在接觸 Docker 查了很多資料,看到一個可以快速了解 Docker 中命令指令關係圖,看完後對整體的大方向可以更加瞭解與各個環節的關係,如下圖所示 圖片來源《Docker —— 從入門到實踐­》正體中文版,如有侵權或是不妥請告知 … Read More
  • [Docker] 修改 Docker image 預設存放位置問題  最近在安裝新應用程式時發現系統硬碟 C 槽空間嚴重不足,公司筆電 128 G 的 SSD只剩不到 2G 空間可以使用,盤查後發現最近在公司筆電嘗試很多 Docker 應用,而這些 image 檔案都存在系統硬碟因而把系統硬碟灌爆,這篇分享在 Docker 中如何修改預設的儲存位置,來解決上述提到頭痛的問題,若有謬誤或是更快的方法歡迎留言一起討論。  Windows Container Docker Enginer… Read More
  • [Redis] 使用 Docker 安裝 Redis前言  在上一篇分享了如何在 Windows 上安裝 Redis 服務,文章最後也有提到使用微軟的下載連結安裝後 Redis 版本為 3.2 版,與官網提供最新穩定版 5.0.3 版本差異有些懸殊,Windows For Redis 安裝似乎也沒再繼續支援的樣子,如果想要在 Windows 上使用 Redis 3.2 版後的新功能似乎有難度,這篇介紹如何在 Docker 安裝 Redis 服務解決這問題,如有謬誤歡迎高手給予指… Read More
  • [Docker] Error response from daemon: Conflict. The container name "ooo" is already in use by container "xxx"問題  最近自己在嘗試 Docker 的一些應用,起 container 時會執行 Docker run ,但今天跳出異常錯誤訊息為 Error response from daemon: Conflict. The container name "ooo" is already in use by container "xxx". You have to remove (or rename) that container to be… Read More

0 意見:

張貼留言

Copyright © 2025 m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com