docker composeのメモ

volumeとDockerfileについて

DockerFile上でもvolumeを定義できる。

VOLUME 命令は指定した名前でマウントポイントを作成し、他のホストやコンテナから外部マウント可能なボリュームにします。指定する値は VOLUME ["/var/log"] といったJSON 配列になるべきです。あるいは文字列で VOLUME /var/log や VOLUME /var/log /var/db のように、複数の引数を書くこともできます。Docker クライアントを使ったマウント命令や詳しい情報やサンプルは ボリュームを経由してディレクトリを共有 をご覧ください。

だけど、compose側のvolumesも設定されている場合、上書きされる。

パスをボリュームとしてマウントします。オプションとしてホスト側のパスを指定(ホスト:コンテナ)したり、アクセスモードを指定します(ホスト:コンテナ:ro)。

環境変数について

Docker File側に環境変数を渡したい場合は、ARG で明示する必要がある。

ARG 命令は、構築時に作業者が docker build コマンドで使う変数、 --build-arg <変数名>=<値> フラグを定義するものです。ユーザが構築時に引数を指定しても Dockerfile で定義されていなければ、構築時に次のようなエラーが出ます。

これがなぜなのかよくわからないが、argsってコマンドライン引数でよく聞く名前だし、覚えておこう。