【docker】Dockerfileからイメージ作成方法

image 生成方法 from Dockerfile

Dockerfileを使ってimageを作成する方法を説明します。

dockerのコマンドでも作成できますが、imageを作成する方法をまとめるにはDockerfileを使う方がお勧めです。

メリットは、imageファイルがどのようなものかDockerfileで生成することにより明確になります

また、拡張する際もベースのDockerfileを編集することで容易になります。

  1. Dockerfileを作成
  2. Dockerfileからimageを生成

1.Dockerfileを作成

テキストエディタで任意のフォルダに"Dockerfile"と言う名前のファイルを作成する。

Dockerfileに

  • FROM:ベースとするimageファイル
  • RUN:インストールものやコマンドなどを指定する※
  • CMD:デフォルトで実行するコマンド

を指定します。

※: "&&" 複数のコマンドを実行する場合、"&&"で結合する。

※:"-y"でインストール中の確認をYesにする

※:"\"バックスラッシュで改行する

※:install コマンドを半角スペースを空けて連続して指定する

FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
	curl \
	cvs \
	nginx
CMD ["ls"]

Dockerfileで指定可能な命令の一覧

命令説明書式
FROMベースのイメージを指定FROM IMAGE:TAGFROM ubuntu:latest
RUNコマンド実行RUN ["実行バイナリ" "パラメータ1" "パラメータ2" ]RUN apt-get update
CMDコンテナ実行時の実行コマンドCMD ["実行バイナリ" "パラメータ1" "パラメータ2" ] CMD ["ls"]
COPYファイル(Directory)のコピー
ホストPCにあるファイルをコンテナにコピー
COPY ["コピー元" "コピー先"] COPY TEST /usr/local/bin/
ADDアーカイブのコピー&展開
ホストPCにあるアーカイブをコンテナで展開
ADD ["アーカイブ元" "アーカイブの展開先"] ADD TEST.tar /usr/local/bin/
ENTRYPOINTコンテナ実行時の実行コマンド
※CMDでパラメータを指定
ENTRYPOINT ["実行バイナリ"]
CMD ["パラメータ1" "パラメータ2" ]
ENTRYPOINT ["ls"]
CMD ["--help"]
ENVコンテナに登録する環境変数ENV <key1>=<value1> <key2>=<value2> ...ENV KeyMaxSize=128
WORKDIRコンテナ操作作業ディレクトリ指定WORKDIR ディレクトリパス WORKDIR /var/www

2.Dockerfileからimageを生成

ターミナルを起動して「docker build .」をコマンド実行する。

これで「1.Dockerfileを作成 」で作成したDockerfileをもとにイメージファイルが生成される。

※実行するカレントディレクトリに"Dockerfile"がある場所で実行すること

Dockerfile build実行画面

・「docker images」でimageファイルが作成されているのか確認します。

名前を指定していないので、<none>になっています。

このイメージからコンテナを生成する際は、IMAGE IDを指定する。

・「docker run -it <IMAGE ID>」これでコンテナが生成されます。

2.1.Dockerfileを指定してimageを生成

カレントディレクトリにDockerfileがない場合"-f"オプションを指定することが可能です。

ターミナルを起動して「docker build -f ../Dockerfile_dev .」をコマンド実行する。

カレントディレクトリの一つ上のディレクトリの"Dockerfile_dev"を使用してビルドします。

\ 最新情報をチェック /

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA