dockerfile构建nginx镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dockerfile构建nginx镜像相关的知识,希望对你有一定的参考价值。

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

然后进行网页验证即可

以上是关于dockerfile构建nginx镜像的主要内容,如果未能解决你的问题,请参考以下文章

docker----安装初步使用构建镜像Dockerfile编写通过Dockerfile文件封装nginx镜像并优化

dockerfile构建Nginx,Tomcat镜像

dockerfile构建Nginx,Tomcat镜像

dockerfile构建Nginx,Tomcat镜像

dockerfile构建Nginx,Tomcat镜像

dockfile概述,使用dockerfile构建Nginx,Tomcat镜像