
結論
Dockerの設定は docker info
で確認、/etc/docker/daemon.json
で修正。
手堅い設定変更手順
- 稼働中の全コンテナを止める
docker stop hoge
とかdocker compose stop
とかdocker ps
で何も動いていない状態にする
停止中のコンテナも確認するにはdocker ps -a
- Dockerデーモンを止める
sudo systemctl stop docker.socket sudo systemctl stop docker.service
- 設定修正
/etc/docker/daemon.json
を修正(最初は存在していないので作る) - Dockerデーモン起動
sudo systemctl start docker.service
※ docker.socket も一緒に起動される
- 設定確認
docker info
で変更を確認
各種設定
Docker Root Dir
Dockerイメージとコンテナの保存先
デフォルトはここ
$ docker info | grep Root
Docker Root Dir: /var/lib/docker
オーナーとパーミッションはこんな感じ、イメージやコンテナを引っ越すなら、引っ越し先のディレクトリも同じように設定する
$ ls -ld /var/lib/docker/
drwx--x--- 12 root root 4096 4月 7 19:19 /var/lib/docker/
rsync
でコピーして、動作確認後に削除する
docker/ ディレクトリが無い場合は作ってくれるし、パーミッションやオーナーも同じにしてくれる
$ sudo rsync -aP /var/lib/docker /mnt/引っ越し先/
または
$ sudo rsync -aP /var/lib/docker/ /mnt/引っ越し先/docker/
前者はdockerディレクトリが対象、後者はdockerディレクトリの中身が対象
変更する場合はこんな感じ
{
"data-root": "/mnt/data/docker"
}