使用Dockerfile(二)
使用Dockerfile
创建一个Dockerfile来安装httpd,添加index.html,并启动带有80端口的httpd。
[root@rainbowzj ~]# vi Dockerfile
#新文件
FROM centos
MAINTAINER rainbowzj <zhouj@openbigdata.com>
RUN yum -y install httpd
RUN echo "Hello DockerFile" > /var/www/html/index.html
EXPOSE 80
CMD ["-D", "FOREGROUND"]
ENTRYPOINT ["/usr/sbin/httpd"]
[root@rainbowzj ~]# docker build -t web_rainbow:latest .
Sending build context to Docker daemon 22.02 kB
Step 1 : FROM centos
---> 328edcd84f1b
Step 2 : MAINTAINER rainbowzj <zhouj@openbigdata.com>
---> Running in ee751a6e9d4a
---> c7f9f16d07cc
Removing intermediate container ee751a6e9d4a
Step 3 : RUN yum -y install httpd
---> Running in 97f199e866b1
......
......
Removing intermediate container f0c9c933a70e
Successfully built ed23dc81322a
[root@rainbowzj ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
web_rainbow latest ed23dc81322a 16 seconds ago 332.3 MB
my_image/centos_httpd latest 34f3a8f4b9b0 About an hour ago 332.3 MB
#在后台运行容器
[root@rainbowzj ~]# docker run -d -p 80:80 web_rainbow
c73c3c3f707cef6be4710f03b37331697034281818e3ae71ba20495f51446c77
[root@rainbowzj ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c73c3c3f707c web_rainbow "/usr/sbin/httpd -D F" About a minute ago Up About a minute 0.0.0.0:80->80/tcp dreamy_brown
c21f34efc5b7 my_image/centos_httpd "/bin/bash" About an hour ago Up About an hour 0.0.0.0:8081->80/tcp angry_noyce
[root@rainbowzj ~]# curl http://localhost/
Hello DockerFile