Dockerfile 构建nginx镜像

Posted 涛子GE哥

tags:

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

在公司中,会根据公司特有业务去制作镜像,这种情况下一般使用Dockerfile去构建。

环境准备:一台安装docker服务的服务器即可

Dockerfile是由一行行命令语句组成,支持以#开头的注释
一般而言,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行命令。

详细指令说明可以看我上一篇博客,介绍的有


[root@192.168.0.100 test]#mkdir -p nginx
[root@192.168.0.100 test]#cd nginx
[root@192.168.0.100 nginx]#ls


Dcokerfile
===========================================================================================
# Base images 基础镜像
# 这里的基础镜像用的是阿里云上我自己私仓库里的centos7.5
FROM registry.cn-hangzhou.aliyuncs.com/test/centos:1804 

#MAINTAINER 维护者信息
MAINTAINER test xxx@163.com

#ENV 设置环境变量
ENV PATH /usr/local/nginx/sbin:$PATH

#RUN 执行指定命令
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \\
    && mkdir /yum_back \\
    && mv /etc/yum.repos.d/* /yum_back \\
    && curl -so /etc/yum.repos.d/centos7-base.repo http://xxx/centos7-base.repo \\ #这里用的自己的yum源
    && yum clean all \\
    && yum makecache \\
    && yum install -y gcc* make pcre-devel pcre zlib-devel openssl-devel \\
    && useradd -s /sbin/nologin -M nginx

#ADD  文件放在当前目录下,拷过去会自动解压
ADD nginx-1.15.3.tar.gz /usr/local/ #nginx版本是1.15.3

#WORKDIR 指定工作目录 相当于cd
WORKDIR /usr/local/nginx-1.15.3 

RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre && make && make install
RUN ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

#EXPOSE 声明端口
EXPOSE 80

WORKDIR /

#CMD 指定启动容器时执行的命令
RUN nginx
CMD ["nginx", "-g", "daemon off;"]
===========================================================================================

 

使用build创建
[root@192.168.0.100 nginx]#docker build -t centos7-nginx:1.15 .


[root@192.168.0.100 nginx]#docker images
centos7-nginx                                           1.15                48e53719251b        5 days ago          2.72 GB
 

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

利用Dockerfile构建一个nginx容器

dockerfile 搭建nginx镜像

docker-dockerfile使用

使用dockerfile构建nginx镜像 转

使用Dockerfile构建镜像

使用Dockerfile构建nginx镜像