構成ファイル¶
他のツールのようにドットファイルを作り込む必要は実のところほとんどない。
config.json
¶
プログラム docker 既定の構成ファイルパスは
~/.docker/config.json
だが、現代の感覚ではホームの直下にこのようなドットファイルを置くことを良しとしない。次のようにする:
環境変数
XDG_CONFIG_HOME
をシェルのスタートアップファイル (e.g..bashrc
) で定義する環境変数
DOCKER_CONFIG
をシェルのスタートアップファイルで定義するコマンド
mkdir -p $DOCKER_CONFIG
を実行するファイル
$DOCKER_CONFIG/config.json
を用意する
最初の変数については XDG Base Directory 利用ノート に記した。それ以降の適当な行に次を記せ:
export DOCKER_CONFIG=$XDG_CONFIG_HOME/docker
バージョン管理されている $XDG_CONFIG_HOME
に config.json
を置いておきながらなんだが、Docker に関係する構成ファイルには機密事項である各種認証情報が含まれている可能性が高い。このようなものはバージョン管理のリポジトリーに登録してはいけない。無視ファイル目録 (e.g. .gitignore
) を適宜設定しろ。
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "<SHA64>"
}
},
"cliPluginsExtraDirs": [
"<HOMEDIR>/.local/share/docker/cli-plugins"
],
"plugins": {
"docker-scout": {
"organization": "<DOCKERID>"
}
}
}
プロパティー auths
は意味を正確に述べるのが難しい。機密情報であることを利用者が認識する必要があることだけは忘れてはいけない。
プロパティー cliPluginsExtraDirs
については Docker Scout の文書に記述がある。
プロパティー plugins
は CLI プラグイン固有の設定だ。キーと値はプラグイン名とそのプラグインに固有のオプションをそれぞれ表す。
daemon.json
¶
プログラム dockerd の構成ファイルの既定パスは
/etc/docker/daemon.json
だ。
{
"features": {
"containerd-snapshotter": true
},
"log-driver": "local",
"log-opts": {
"max-size": "10m"
}
}
特に、演習段階のうちにログファイルが肥大化しない設定を済ませたい。Configure logging drivers 内 Tip 記事による。
構成ファイルの構文を検査することが可能だ:
$ dockerd --validate