先上代码:
这个例子是在创建一个centos:7系统并安装了nginx的镜像
get docker image
FROM centos:7
RUN yum install -y wget
WORKDIR /usr/local/src
RUN wget http://nginx.org/download/nginx-1.9.8.tar.gz
RUN tar -zxf nginx-1.9.8.tar.gz
RUN mkdir /usr/local/nginx
RUN yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
WORKDIR nginx-1.9.8
RUN ./configure –prefix=/usr/local/nginx
RUN make && make install
ADD hello1.html /usr/local/nginx/html/
Dockerfile 语法解释:
1、注释使用 “#” 符号开头
2、命令为从上往下执行
3、FROM 为获取docker镜像命令
例子: FROM {imageName}:{imageVersion}
解释:执行到这句命令时,会从默认的docker仓库中查找到相应的镜像,
等同于 docker pull {imageName}:{imageVersion} , docker run -it {imageName}:{imageVersion}
docker attach {这个容器Id} 。
4、RUN 执行 linux 指令
5、WORKDIR 修改当前工作路径(相对于容器来说的)
6、ADD 命令是添加 以Dockerfile所在目录为根的文件至docker容器中
例子: ADD hello1.html /usr/local/nginx/html/
解释:hello1.html 与 Dockerfile处于同一目录下
补充:
1、VOLUME ["路径"] 路径为容器路径
挂载一个数据卷: 至于挂载位置,可以使用 docker inspect -f "{{.Mounts}}" 容器Id