天天看點

解決docker資料檔案過大導緻根磁盤滿的問題

背景:

    最近線上上使用的docker主機發現根目錄容量快滿了,一番查找,發現是docker的data檔案過大了。     我們知道docker資料預設是存放在/var/lib/docker下的,我們可以在啟動時用-g --graph=""參數,把資料目錄更改到其他容量大的地方去。但是對于在使用中的docker來說,直接修改這個目錄路徑,會導緻鏡像和容器都丢失了,是以修改參數這個方法适用于初始化docker的時候使用。

   對于又想解決根分區容量滿,又不想更改資料存儲路徑的我來說,我不想更改任何docker的參數和資料,是以我在自己的虛機機環境上嘗試把這些資料遷移到容量較大的磁盤上去,再用連結的方式把資料連結到原來的位置,保證環境盡可能不變動。

操作:

  1:關閉docker容器和docker程序:

1

<code># /etc/init.d/docker stop</code>

  2:遷移資料:(假設我要遷移到/mnt/docker)

<code># mv /var/lib/docker /mnt/</code>

  3:制作目錄連結

2

3

4

<code># ln -s /mnt/docker /var/lib/docker</code>

<code>#  cd /var/lib</code>

<code># ll</code>

<code>lrwxrwxrwx  1 root    root      11 Apr 13 10:52 docker -&gt; </code><code>/mnt/docker</code>

   4:啟動docker和容器:

<code># /etc/init.d/docker start</code>

該實驗在我的環境中測試有效。應該沒有什麼大問題,如果有什麼忽略的地方,請大家指正!

本文轉自 icenycmh 51CTO部落格,原文連結:http://blog.51cto.com/icenycmh/1915496,如需轉載請自行聯系原作者