Dockerfile是一个文本格式的配置文件,用户可以使用dockerfile来快速创建自定义的镜像。
Dockerfile指令说明
分类 | 指令 | 说明 |
---|---|---|
配置指令 | ARG | 定义创建镜像过程中使用的变量 |
配置指令 | FROM | 指定镜像创建的基础镜像 |
配置指令 | LABEL | 为生成的镜像添加元数据标签信息 |
配置指令 | EXPOSE | 声明镜像内服务监听的端口 |
配置指令 | ENV | 指定环境变量 |
配置指令 | ENTRYPOINT | 指定镜像的默认入口指令 |
配置指令 | VOLUME | 创建一个数据卷挂载点 |
配置指令 | USRE | 指定容器运行时的用户名和UID |
配置指令 | WORKDIR | 配置工作目录 |
配置指令 | ONBUILD | 创建子镜像时指定自动执行的操作指令 |
配置指令 | STOPSIGNAL | 指定退出的信号值 |
配置指令 | HEALTHCHECK | 配置所启动容器如何进行健康检查 |
操作指令 | RUN | 运行指定命令 |
操作指令 | CMD | 启动容器时指定默认执行的命令 |
操作指令 | ADD | 添加内容到启动镜像 |
操作指令 | COPY | 复制内容到镜像 |
下面我们来使用dockerfile构建一个nginx镜像
1、首先我们拉取一个centos镜像作为我们的基础镜像
2、创建一个目录存放我们的dockerfile文件
[[email protected] opt]# cd nginx/
[[email protected] nginx]# vim dockerfile
#指定的基础镜像
FROM centos
#添加用户信息
MAINTAINER this is test nginx image
#下载nginx环境包
RUN yum install wget proc-devel net-tools gcc zlib zlib-devel make openssl-devel -y
#下载nginx软件包,并解压
RUN wget http://nginx.org/download/nginx-1.14.2.tar.gz
RUN tar zxvf nginx-1.14.2.tar.gz
#配置工作目录
WORKDIR nginx-1.14.2
RUN ./configure --prefix=/usr/local/nginx && make && make install
#声明http和https的端口
EXPOSE 80
EXPOSE 443
#添加nginx启动脚本到容器中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"]
3、添加run.sh启动脚本
[[email protected] nginx]# vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx
4、构建镜像
[[email protected] nginx]# docker build -t nginx:test . #这里结尾有个点!!
5、镜像生成和运行
查看镜像
运行镜像
浏览验证
如果浏览器上不能浏览到网页,可能是nginx容器中nginx未启动
[[email protected] nginx]# docker exec -it 8730a8c80df6 /bin/bash
[[email protected] nginx-1.14.2]# ls
CHANGES CHANGES.ru LICENSE Makefile README auto conf configure contrib html man objs src
[[email protected] nginx-1.14.2]# cd /usr/local/nginx/sbin/
[[email protected] sbin]# ls
nginx
[[email protected] sbin]# ./nginx
然后进行网页验证即可
原文地址:http://blog.51cto.com/13760226/2328947