Docker : Dockerfile を利用する#2
2015/06/27 |
Dockerfile を利用して Docker イメージを作成し Docker コンテナーを実行します。
Dockerfile には Docker コンテナーの構成内容をまとめて記述するため、構成管理にも役立ちます。 |
|
[1] | 例として、httpd のインストールと index.html の追加、および httpd を 80 で起動する Dockerfile を作成します。 |
[root@dlp ~]#
vi Dockerfile # 新規作成 FROM centos MAINTAINER ServerWorld <admin@srv.world> RUN yum -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 web_server:latest . Sending build context to Docker daemon 10.24 kB Step 0 : FROM centos ---> 7322fbe74aa5 Step 1 : MAINTAINER ServerWorld <admin@srv.world> ---> Running in fa5364b3d41f ---> 57d8fd36b7f7 ..... ..... Removing intermediate container 3efa8e1dcae9 Successfully built 7c39aaa338b4[root@dlp ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE web_server latest 7c39aaa338b4 24 seconds ago 283.9 MB docker.io/centos latest ce20c473cd8a 8 weeks ago 172.3 MB # バックグラウンドでコンテナーを起動 [root@dlp ~]# docker run -d -p 80:80 web_server [root@dlp ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 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 |