上一节提到,Dockerfile是用来构建整个镜像的文本文件,描述了镜像需要用到的所有指令和说明:
1、一个包含用于组合镜像的命令的文本文件
2、可以配置使用任何在命令行中能使用的命令(就是只要能在命令行中用的命令,Dockerfile文件里都可以配置,在用Dockerfile创建镜像时会自动调用文件中配置的命令)
3、Docker可以通过读取Dockerfile中的指令自动生成镜像
开始
1.首先先下载一个基础镜像,这里使用官方的centos镜像,具体安装方式看 Docker容器的使用。
2.创建一个工作目录,在目录下新建Dockerfile文件:
~# mkdir work~# cd work~/work# vi Dockerfile
3.在工作目录下新建web主页文件 index.html
~# cat index.html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><h2>Hello Docker --我是熊浩翔</h2></body></html>
4.在Dockerfile文件中配置制作镜像需要的命令:
#指明构建镜像是来自于哪一个基础镜像FROM centos#通过镜像标签声明作者信息LABEL maintainer="ricky"#设置工作目录(可选)#WORKDIR /usr/local#安装httpd并启动httpd服务RUN yum install httpd -yRUN httpd#拷贝主页index.html文件到指定目录ADD index.html /var/www/html/#配置容器运行后执行的指令CMD ["httpd","-D","FOREGROUND"]#暴露容器内运行时的端口给外部EXPOSE 80
上列中的指令 ADD index.html /var/www/html/ 文件我们工作目录下的index.html拷贝到容器的 /var/ww/html/目录下。
5.使用Dockerfile构建镜像
(1)在工作目录下编译Docker文件 docker build -t mycentos
构建成功后查看新的镜像文件

(2)创建并运行该镜像文件的一个容器 docker run -p 8080:80 -d mycentos
容器成功启动后,就已经可以提供服务了!
查看本机的8080端口,是否已经接收到了自定义的容器提供的服务。
发现已经可以正常提供httpd服务了,woc! 容器跑起来就能提供服务了,牛逼。
