Docker Dockerfile
1.命令
命令 | 説明 |
---|---|
FROM | ベースイメージの指定 |
MAINTAINER | 作成者情報を設定 |
RUN | ベースイメージから起動したコンテナ内で実行するコマンドを設定 |
ENV | 環境変数を設定 |
WORKDIR | 場所(ディレクトリ)を移動 |
USER | ユーザ変更設定 |
LABEL | メタ情報(バージョンやコメントなど)設定 |
EXPOSE | 公開ポート番号設定 |
ADD | ファイルやディレクトリを取得(リモート可) |
COPY | ファイルやディレクトリを取得(ローカルのみ) |
VOLUME | ボリューム設定 |
ONBUILD | 次のbuild時に実行されるコマンドを設定 |
CMD | 作成したイメージが起動されたら実行するコマンドを設定 |
ENTRYPOINT | 作成したイメージが起動されたら実行するコマンドを設定 |
2.Dockerfileを作成する
Dockerfile
FROM centos
LABEL title="test1"\
version="1.0"\
description="This is a test1"
RUN mkdir /test1
RUN echo "hello world" > /test1/aaa
VOLUME /test1
ENV hoge=hogehoge
EXPOSE 80
WORKDIR /tmp
RUN ["pwd"]
ADD https://github.com/docker/cli/blob/master/README.md /tmp
COPY sample.txt /tmp
3.Dockerfile からイメージを作成する
作成された Dockerfile を実行。
$ docker image build -f Dockerfile .
イメージが作成されたことを確認。
$ docker images
ちょっと名前を付け忘れたので、tag をつけておく。
$ docker images tag 0025fec43609 test:1
メタ情報が反映されているか確認してみる。
$ docker image inspect test:1
4.docker を実行する
作成したイメージで docker を実行してみる。
$ docker container run -it test:1
5.内容を確認する
起動したDockerからひとつずつイメージの内容と合致しているか確認してみましょう。
1.WORKDIR /tmp から開始されていることがわかります。
2.FROM centos かを確認する。
$ cat /etc/redhat-release
3./test1/aaa で hello world が表示されているか確認する。
$ cat /test1/aaa
4.環境変数が登録されているか確認する。
$ printenv | grep hoge
5./tmp にGitHubのファイルが保存されているか確認する。
$ docker ls /tmp
Author And Source
この問題について(Docker Dockerfile), 我々は、より多くの情報をここで見つけました https://qiita.com/leomaro7/items/29b701a7f80811f34308著者帰属:元の著者の情報は、元の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 .