ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

Dockerfile 作成

Dockerfile

Dockerイメージを作成する時の情報を保持する

※主要命令

命令 説明
FROM ベースイメージの指定
MAINTAINER ベースイメージの指定
RUN コマンド実行
CMD デーモン実行
ENV 環境変数の設定
EXPOSE ポートのエクスポート
COPY ファイルのコピー
ADD ファイル/ディレクトリの追加
COPY ファイルのコピー
VOLUME ボリュームがのマウント
ENTRYPOINT デーモン実行
USER ユーザの指定
WORKDIR 作業ディレクトリの指定
ONBUILD ビルド完了後に実行される命令

FROM

FROM [イメージ名]
FROM [イメージ名]:[タグ名]
FROM [イメージ名]@[ダイジェット]

RUN

イメージを作成するために実行するコマンド

RUNで実行されるタイミングで中間イメージはレイア化され、分かれてします。 すべてのレイアは127レイアを超えられない。

RUN [実行したいコマンド]

※Exec形式

RUN ["echo", "hello"]
RUN ["/bin/bash","-c","echo 'hello'"]

※Shell形式

RUN echo "hello"

CMD

イメージを元に生成したコンテナ内で実行するコマンド。 Dockerfileでは1つのコマンドのみ記述可能。

CMD [実行したいコマンド]

※記述はExec形式とShell形式を使用

ENTRYPOINT

docker run コマンドで実行した時に実行されるコマンド

※CMDとの違い、CMDの場合、docker run時に指定したコマンドが優先実行されるがENTRYPOINTのコマンドは指定が有っても強制的に実行される。

ENTRYPOINT [実行したいコマンド]

※記述はExec形式とShell形式を使用

docker run実行時パラメータを任意に指定して実行することが可能です

$ docker run -it sample -d 2

※イメージのENTRYPOINTに指定されたコマンドに「-d 2」のパラメータが適用される。

ONBUILD

ビルド実行後に実行されるコマンド

ONBUILD [実行したいコマンド]

ONBUILD ADD website.tar /var/www/html/

ADD指定によりビルド後、website.tarが/var/www/html/配下に鉢して、tarファイルが展開される。

DockerfileからDockerイメージ作成

「docker build -t {イメージ名}:{タグ名} {Dockerfileの場所}」

Dockerfileの場所に有るファイルはすべてDocker関連ファイルのルートとして必要なファイルやコマンドで使用するファイルとなる。

$ docker build -t myimage:1 /home/docker/webdev