November 10, 2020

Docker設定変更

結論

Dockerの設定は docker info で確認、/etc/docker/daemon.json で修正。

手堅い設定変更手順

  1. 稼働中の全コンテナを止める
    docker stop hoge とか docker compose stop とか
    docker ps で何も動いていない状態にする
    停止中のコンテナも確認するには docker ps -a
  2. Dockerデーモンを止める
    sudo systemctl stop docker.socket
    sudo systemctl stop docker.service
    
  3. 設定修正
    /etc/docker/daemon.json を修正(最初は存在していないので作る)
  4. Dockerデーモン起動
    sudo systemctl start docker.service
    

    ※ docker.socket も一緒に起動される

  5. 設定確認
    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"
}

一次情報源

https://docs.docker.com/config/daemon/

© 2020 nissy-lab.com