Dockerfileの書き方を理解して、Dockerfileでnginxを起動させる
Dockerfileとは?
- ベースになるDockerイメージ
- Dockerコンテナ内で行った操作(コマンド)
- 環境変数などの設定
- Dokcerコンテナ内で動作させておくデーモン実行
などのDocker上で動作させるコンテナの構成情報を記述するためのファイルのことです。
Dockerfileの基本構文
Dockerfileの基本書式
命令 引数
Dockerfileの命令
命令 引数
命令 | 説明 |
---|---|
FROM | ベースイメージの指定 |
RUN | コマンド実行 |
CMD | コンテナの実行コマンド |
LABEL | ラベルを設定 |
EXPOSE | ポートのエクスポート |
ENV | 環境変数 |
ADD | ファイル/ディレクトリの追加 |
COPY | ファイルのコピー |
ENTRYPOINT | コンテナの実行コマンド |
VOLUME | ボリュームのマウント |
USER | ユーザーの指定 |
WOEKDIR | 作業ディレクトリ |
ARG | Dockerfile内の変数 |
ONBUILD | ビルド実行後に実行される命令 |
STOPSSIGNAL | システムコールシグナルの設定 |
HEALTHCHECK | コンテナのヘルスチェック |
SHELL | デフォルトシェルの設定 |
Dockerfileの作業の流れ
Dockerfileを作成
Dockerfileでは、DockerコンテナをどのDockerイメージから生成するかを必ず書く必要があります。
bash
FROM [イメージ名]
FROM [イメージ名]:[タグ名]
FROM [イメージ名]@[ダイジェスト]
FROM命令は必須です。ダイジェストは、DockerHubにアップロードすると自動で付与される識別子で、ユニーク。
Dockerfileのビルド
docker build -t [生成するイメージ名]:[タグ名] [Dockerfileの場所]
ビルドをして、イメージを作成。
初回実行時は、Dockerレポジトリからベースイメージをダウンロードするため処理に時間がかかる
2回目以降は、すでにイメージがあるため、ダウンロードはしない。
Dockerイメージのレイヤー構造理解して、nginx起動させる
Dockerfile
# STEP1 Ubuntu
FROM ubuntu:latest
# STEP2 Nginxのインストール
RUN apt-get update && apt-get install -y -q nginx
# STEP3 ファイルのコピー
COPY index.html /usr/share/nginx/html/
# STEP4 Nginxの起動
CMD ["nginx","-g","deamon off;"]
Dockerfile
# STEP1 Ubuntu
FROM ubuntu:latest
# STEP2 Nginxのインストール
RUN apt-get update && apt-get install -y -q nginx
# STEP3 ファイルのコピー
COPY index.html /usr/share/nginx/html/
# STEP4 Nginxの起動
CMD ["nginx","-g","deamon off;"]
この例のDockerfileと同じディレクトリに任意の「index.html」という名前のファイルを用意する。
このファイルをbuildすると、命令1行ごとにイメージを生成される。
生成された4つのイメージから共有イメージが作成される。
参考
Author And Source
この問題について(Dockerfileの書き方を理解して、Dockerfileでnginxを起動させる), 我々は、より多くの情報をここで見つけました https://qiita.com/roko18366758/items/cda1291d69e334acbf24著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .