Beyond The Limit

はじまりは2001年

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コマンドを使用する