dockerfile用源码包搭建nginx服务

简介:

一、Dockerfile内容如下

FROM centos:latest


MAINTAINER ganbing87@126.com


ENV TIME_ZONE Asia/Shanghai


COPY ./nginx-1.9.3.tar.gz /usr/src


#RUN set -x \

#        \

#&& yum -y update \

#&& yum -y install gcc make pcre zlib zlib-devel openssl-devel \

#&& tar zxf /usr/src/nginx-1.9.3.tar.gz -C /usr/src/ \

#&& rm -rf /usr/src/nginx-1.9.3.tar.gz \

#&& echo "${TIME_ZONE}" > /etc/timezone \

#       && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \


RUN yum -y update && yum -y install gcc make pcre zlib zlib-devel openssl-devel

RUN tar zxf /usr/src/nginx-1.9.3.tar.gz -C /usr/src/ && rm -rf /usr/src/nginx-1.9.3.tar.gz

RUN echo "${TIME_ZONE}" > /etc/timezone && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime


WORKDIR /usr/src/nginx-1.9.3


RUN /usr/src/nginx-1.9.3/configure \

--prefix=/usr/local/nginx \

#--user=www \

#--group=www \

--with-http_stub_status_module \

--with-http_realip_module \

--with-pcre \

--with-http_ssl_module \

--with-stream

RUN make && make install

COPY ./nginx.conf /usr/local/nginx/conf/


#RUN groupadd www && useradd -g www www 

#RUN chown -R www:www /usr/local/nginx


WORKDIR /usr/local/nginx

RUN rm -rf /usr/src/nginx-1.9.3


CMD ["/usr/local/nginx/sbin/nginx"]


EXPOSE 80

EXPOSE 443





二、描述

1、说明

此镜像是在centos7.2系统基础上构建的源码nginx服务,nginx安装目录/usr/local/nginx在dockfile中,编译时我把--user=www、--group=www注释了,如果大家需要这个选项请自行放开,并且此dockerfile配置的时间区。其中有些一部分带#的内容不用管(#RUN set -x \)。


2、环境

系统环境:centos7.2

nginx版本:nginx-1.9.3


3、用dockerfilie构建镜构

docker build -t nginx:1.9.3 .


4、运行

docker run -d -p 80:80 nginx:1.9.3 /usr/local/nginx/sbin/nginx


-d:在后台运行,并生成容器id

-p:把容器主机80端口映射到容器80端口,可自定义端口映射

/usr/local/nginx/sbin/nginx 运行容器后执行这条nginx启动命令


5、查看nginx容器启动情况

docker ps


6、测试

http://宿主机IP



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/2048447,如需转载请自行联系原作者

相关文章
|
2月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
64 5
|
17天前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
2月前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
2月前
|
应用服务中间件 Apache 开发工具
nginx服务企业应用
nginx服务企业应用
|
2月前
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解
|
2月前
|
Kubernetes 应用服务中间件 nginx
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
201 1
|
2月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
78 0
|
网络协议 应用服务中间件 nginx
使用Dockerfile编写源码安装Nginx镜像
使用Dockerfile编写源码安装Nginx镜像
252 0
|
tengine 安全 应用服务中间件
源码安装----Tengine(nginx的进阶版)
源码安装----Tengine(nginx的进阶版)
333 1
|
关系型数据库 MySQL 应用服务中间件
Centos 下源码安装配置Nginx +PHP + fastcgi+mysql+MemCached
编译工具包是少不了的先搞起吧 yum -y install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel .
1354 0