Docker : Dockerfile を利用する2016/06/30 |
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 EXPOSE 80 CMD ["-D", "FOREGROUND"] ENTRYPOINT ["/usr/sbin/httpd"] # イメージのビルド ⇒ docker build -t [イメージ名]:[タグ] . [root@dlp ~]# docker build -t serverworld/httpd:v1.0 . Sending build context to Docker daemon 11.26 kB Step 1 : FROM fedora ---> f9873d530588 Step 2 : MAINTAINER serverworld <admin@srv.world> ---> Running in 5f39adeb5f98 ---> c2ac72fc0fc1 ..... ..... Removing intermediate container 3fa8b8079a88 Successfully built 86a11f268773[root@dlp ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE serverworld/httpd v1.0 86a11f268773 16 seconds ago 338.3 MB images/fedora_httpd latest 33906951c2a6 About an hour ago 544.9 MB docker.io/fedora latest f9873d530588 9 days ago 204.4 MB # バックグラウンドでコンテナーを起動 [root@dlp ~]# docker run -d -p 80:80 serverworld/httpd:v1.0 437c2504ca443659e535253682cd1055d9f79431fef41d4b22a19058eae69802 docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 437c2504ca44 serverworld/httpd:v1.0 "/usr/sbin/httpd -D F" 26 seconds ago Up 23 seconds 0.0.0.0:80->80/tcp angry_darwin[root@dlp ~]# curl http://localhost/ Hello DockerFile |
Sponsored Link |