Docker : Dockerfile を利用する#12015/11/12 |
Dockerfile を利用して Docker イメージを作成し Docker コンテナを実行します。
Dockerfile には Docker コンテナの構成内容をまとめて記述するため、構成管理にも役立ちます。 |
|||||||||||||||||||||||||||||
[1] | Docker ファイルでの記述フォーマットは「INSTRUCTION arguments」(指示 引数) の形となっており、INSTRUCTION には主に下記のような種類があります。
なお、INSTRUCTION の必須項目は FROM のみで、その他は任意です。FROM が指定されていれば Docker ファイルは動作します。
|
[2] | 例として、httpd のインストールと index.html の追加を行う Dockerfile を作成します。 |
[root@dlp ~]#
vi Dockerfile # 新規作成 FROM fedora MAINTAINER serverworld <admin@srv.world> RUN dnf -y install httpd RUN echo "Hello DockerFile" > /var/www/html/index.html CMD /usr/bin/whereis httpd # イメージのビルド ⇒ docker build -t [イメージ名]:[タグ] . [root@dlp ~]# docker build -t serverworld/httpd:v1.0 . Sending build context to Docker daemon 11.78 kB Step 0 : FROM fedora ---> c7d2f0130dae Step 1 : MAINTAINER serverworld <admin@srv.world> ---> Running in 221f62606bce ---> d430c0909468 ..... ..... Removing intermediate container 3cb67d3a9aa5 Successfully built b6f3fceaba56[root@dlp ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE serverworld/httpd v1.0 b6f3fceaba56 35 seconds ago 331.6 MB docker.io/fedora latest c7d2f0130dae 9 days ago 204.3 MB # 引数なしで実行すると CMD で指定したコマンドが実行される [root@dlp ~]# docker run serverworld/httpd:v1.0 httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd /usr/share/man/man8/httpd.8.gz # 引数を付けると CMD で指定したコマンドは上書きされ、引数分が実行される [root@dlp ~]# docker run serverworld/httpd:v1.0 /usr/bin/cat /var/www/html/index.html Hello DockerFile |
Sponsored Link |
|