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,如需转载请自行联系原作者

相关文章
|
3月前
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
93 5
|
2月前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
3月前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
3月前
|
应用服务中间件 Apache 开发工具
nginx服务企业应用
nginx服务企业应用
|
3月前
|
应用服务中间件 网络安全 nginx
nginx作为web服务以及nginx.conf详解
nginx作为web服务以及nginx.conf详解
|
3月前
|
Kubernetes 应用服务中间件 nginx
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
264 1
|
3月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
135 0
|
8月前
|
网络协议 应用服务中间件 Linux
在Redhat 9部署nginx服务
Nginx是一个高性能、开源的HTTP和反向代理服务器,以其异步非阻塞模型处理高并发,并具有轻量级、高可靠性、良好扩展性和热部署特性。在Redhat 9.2上安装nginx-1.24.0涉及安装依赖、下载解压、源码编译、配置环境变量及启动服务。安装步骤包括:yum安装依赖包,下载解压Nginx,运行configure脚本预编译,make && make install编译安装,然后赋权、配置环境变量,关闭防火墙和SELinux,最后启动Nginx并进行浏览器测试。
702 12
|
应用服务中间件 Linux API
若依系统在linux上部署,前台dist文件使用nginx服务,接口无法正常使用的问题?
若依系统在linux上部署,前台dist文件使用nginx服务,接口无法正常使用的问题?
386 0
|
Cloud Native 应用服务中间件 nginx
【云原生】rancher2.6部署nginx服务—2023.03
【云原生】rancher2.6部署nginx服务—2023.03
305 0