natural born minority
こちらも「二度程やってるのに、ソラで書けなくて必ずググる」ので、メモっておきたいなと思いました。(小並)
/(rootのHDD)
マウントとは別HDDにしたい /strage/01/docker
にデータを引っ越したいsudo apt-get install docker-engine
でおこなっている/usr/bin/docker
に setuid で+sして一般ユーザで叩けるようにしたくらい/var/lib/docker
基本「主となる一般ユーザ」でコマンド叩いてることとします。
引っ越し先の「親フォルダ」を用意する。
mkdir -p /strage/01
一般ユーザで作っちゃいましたね…ま、dockerはデーモンで走るし、rootだから良いでしょ。
sudo systemctl stop docker
sudo cp -ar /var/lib/docker /strage/01/
おそらく「移動してln -s
でシンボリックリンクを張る」だけでも良いと思うのですが、設定を覚えるために「Docker自体の設定変更」をします。
本来は /etc/defaults/docker
に設定があるのですが、「systemd使ってたら無効」で、かつ自分の環境がまさにそうなので、以下の変更を行います。
sudo vi /lib/systemd/system/docker.service
# 以下をコメントアウト、追記する。
# ExecStart=/usr/bin/docker daemon -H fd://
ExecStart=/usr/bin/docker daemon -H fd:// -g /strage/01/docker
自動生成のファイルなので、AsCodeするときは工夫が必要そうですが、「ここに起動設定があってコマンドラインパラメタが書ける」ということは覚えておきたいトコです。
systemdに設定をリロードさせておきます。
sudo systemctl daemon-reload
sudo systemctl start docker
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 9.0-jre8-alpine e2149d7b90b9 12 days ago 135.3 MB
...
いくつかのイメージが表示されてたらOKです。
本当に「指定した場所を使ってるか」を確認するため、イメージなどをDLしてみましょう。
# ディレクトリの総容量を出す
sudo du -s /strage/01/docker
10343400 /strage/01/docker
# テキトーなdockerイメージを落としてみる(イメージに他意はありません)
docker pull hjd48/redhat
# 再度ディレクトリの総容量を出す
sudo du -s /strage/01/docker
10788152 /strage/01/docker
大丈夫そうですね。
そもそも、これを減らすためにやったので、これを忘れてはいけません。
sudo rm -rf /var/lib/docker
/var/lib
に在るのは「正しい設計」なのですが、端末でもサーバでも「容量が足りなくなる -> 増設 -> 別ドライブ」ということが多いとおもうのです。
だから「後から変えたい」と思うことは多いのですが…(ま /ver
自体を引っ越しor最初から増設できるとこにするのが正しい姿だとは思います)。
「後からの設定変更の情報が少ない」のと「環境ごとにわりと違う(公式の設定ファイルが無効だったり)」のは、ちょっとメモっておきたいかなと思いました。
以下を参考にさせていただきました。感謝。
blog comments powered by Disqus