Dockerメモ5
データ専用コンテナ
- 名前の通りデータ専用のコンテナでアプリ関係は動かさない
systemd対応のDockerコンテナ
- CentOS7.xではdocker run実行時に--privilegedオプションを付与する必要がある
- --privilegedオプションを付与すると、コンテナは管理者権限モードで実行される
Dockerfile
- イメージファイル
- FROM行で使用するDockerイメージを指定する
- MAINTAINER行でメンテナー名などを記述する
- ENV行で環境変数を指定する
- RUN行で実行するコマンドを記述する
- ADDまたはCOPY行でホストOS側のファイルをコンテナ内にコピーする -- ADDは圧縮tarファイルを解凍・展開して元のファイルはコピーされない、COPYは単純に圧縮tarファイルをコピーして解凍・展開は行わない
- ENTRYPOINT行でコンテナの実行時にコマンドを実行する(実行後はすぐに終了する)
-- 終了させたくない場合などは
tail -f /dev/null
などの終了しないコマンドを記述しておく -- CMD行でもコンテナの実行時にコマンドを実行することが可能、ただしENTRYPOINTとは違いが有る EXPOSE行で外部に開放するポート番号を指定する
docker buildコマンドを実行する時はDockerfileのあるディレクトリを指定する必要がある --
docker build
のhelpを見るとUsage: docker build [OPTIONS] PATH | URL | -
と記述がある -- 直下にDockerfile
の名称で置いている場合はdocker build -t test:testdocker --no-cache .
こんな感じで末尾のドットが必要 -- こうしてDockerイメージが作られる、イメージの確認はdocker images
コマンドホスト側から直接コンテナ内のコマンドを実行するには、docker execコマンドを使用する