#author("2018-08-30T17:19:05+09:00","","")

#author("2018-08-30T17:20:24+09:00","","")

[[CentOS7]]

*Docker : Dockerfile を利用する [#pdf6d0e3]
Dockerfile を利用して Docker イメージを作成し Docker コンテナーを実行します。

Dockerfile には Docker コンテナーの構成内容をまとめて記述するため、構成管理にも役立ちます。

Docker ファイルでの記述フォーマットは「INSTRUCTION arguments」(指示 引数) の形となっており、INSTRUCTION には主に下記のような種類があります。 なお、INSTRUCTION の必須項目は FROM のみで、その他は任意です。FROM が指定されていれば Docker ファイルは動作します。

|INSTRUCTION|説明|h
|FROM|コンテナーのベースとするイメージを指定する|
|MAINTAINER|コンテナーイメージの作成者を指定する|
|RUN|コマンドの実行を指定する ⇒ イメージ作成時に実行される|
|CMD|コマンドの実行を指定する ⇒ コンテナー実行時に実行される &br; 「docker run」の際に実行されるが、「docker run」に引数があればそちらが優先される|
|ENTRYPOINT|コマンドの実行を指定する ⇒ コンテナー実行時に実行される &br; 「docker run」の際に実行されるが、「docker run」に引数があれば、ENTRYPOINT 指定コマンドに付加される|
|LABEL|コンテナーイメージのラベルを指定する|
|EXPOSE|リスンするポートを指定する|
|ENV|環境変数を指定する|
|ADD|ファイル/ディレクトリの追加を指定する|
|COPY|ファイル/ディレクトリの追加を指定する|

|ADD と異なる点は、リモートURL 指定不可、アーカイブファイルを自動で展開しない|

|COPY|ファイル/ディレクトリの追加を指定する &br; ADD と異なる点は、リモートURL 指定不可、アーカイブファイルを自動で展開しない|

|VOLUME|マウントポイントを指定する|
|USER|実行ユーザーを指定する|
|WORKDIR|作業ディレクトリを指定する|



**例として、httpd のインストールと index.html の追加、および httpd を 80 で起動する Dockerfile を作成します。 [#t943eedd]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi Dockerfile|
|&color(lime){# 新規作成};|
|FROM centos &br; MAINTAINER ServerWorld <admin@hoge.com> &br;  &br; RUN yum -y install httpd &br; RUN echo "Hello DockerFile" > /var/www/html/index.html &br; EXPOSE 80 &br; CMD ["-D", "FOREGROUND"] &br; ENTRYPOINT ["/usr/sbin/httpd"]|
|&color(lime){# イメージのビルド ⇒ docker build -t [イメージ名]:[タグ] . };|
||[root@localhost ~]# docker build -t web_server:latest .|

|[root@localhost ~]# docker build -t web_server:latest .|

|Sending build context to Docker daemon 10.24 kB &br; Step 0 : FROM centos &br;  ---> 7322fbe74aa5 &br; Step 1 : MAINTAINER ServerWorld <admin@hoge.com> &br;  ---> Running in fa5364b3d41f &br;  ---> 57d8fd36b7f7 &br; ..... &br; ..... &br; Removing intermediate container 3efa8e1dcae9 &br; Successfully built 7c39aaa338b4|
|[root@localhost ~]# docker images|
|REPOSITORY          TAG         IMAGE ID            CREATED             VIRTUAL SIZE &br; web_server          latest      7c39aaa338b4        24 seconds ago      283.9 MB &br; docker.io/centos    latest      ce20c473cd8a        8 weeks ago         172.3 MB|
|&color(lime){# バックグラウンドでコンテナーを起動};|
|[root@localhost ~]# docker run -d -p 80:80 web_server|
|[root@localhost ~]# docker ps|
|CONTAINER ID  IMAGE       COMMAND                 CREATED         STATUS         PORTS                  NAMES &br; eda2b1482272  web_server  "/usr/sbin/httpd -D F"  35 seconds ago  Up 34 seconds  0.0.0.0:80->80/tcp  mad_bhabha|
|[root@node02 ~]# curl http://localhost/|
|Hello DockerFile|

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS