用Docker构建Nginx镜像
1构建Nginx镜像
1建立工作目录
[root@localhost ]# mkdir 1nginx
[root@localhost 1nginx]# cd 1nginx/
[root@localhost 1nginx]# ls
Dockerfile nginx-1.14.2.tar.gz run.sh
2,创建并编写Dockfile文件
[root@localhost 1nginx]# vim Dockerfile
#创建者的基本信息
MAINTAINER adc@163.com
#解决依赖关系
RUN yum install -y make gcc openssl-devel pcre-devel zlib-devel
#添加nginx用户
RUN groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
#添加nginx安装包,并默认解压
ADD nginx-1.14.2.tar.gz /usr/local/src/
#添加启动nginx服务脚本
ADD run.sh /run.sh
#定义工作目录
WORKDIR /usr/local/src/nginx-1.14.2/
#执行命令进行安装
RUN ./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module && make && make install
#定义输出命令
CMD ["/run.sh"]
#定义输出端口
EXPOSE 80
3.编写执行脚本内容
[root@localhost 1nginx]# vim run.sh
#!/bin/bash
sed -i '/daemon off/d' /etc/nginx/nginx.conf
#设置nginx非daemon守护进程
echo "daemon off;" >> /etc/nginx/nginx.conf
#杀掉nginx服务
killall nginx
#启动nginx服务
/usr/sbin/nginx -c /etc/nginx/nginx.conf
- 生成镜像
[root@localhost 1nginx]# docker build -t nginx.web .
[root@localhost 1nginx]# docker images
- 启动容器进行测试
[root@localhost 1nginx]# docker run -d -p 81:80 nginx.web
[root@localhost 1nginx]# docker ps
[root@localhost 1nginx]# curl 192.168.30.24:81
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
用Docker构建Nginx镜像的更多相关文章
- docker之NGINX镜像构建
Nginx是一个高性能的Web和反向代理服务器,它具有很多非常优越的特性:1.作为Web服务器.2.作为负载均衡服务器.3.作为邮件代理服务器.4.安装及配置简单.接下来我们介绍在docker构建ng ...
- Docker学习之4——构建NGINX镜像
Nginx是一个高性能的Web和反向代理服务器,它具有很多非常优越的特性:1.作为Web服务器.2.作为负载均衡服务器.3.作为邮件代理服务器.4.安装及配置简单.接下来我们介绍在docker构建ng ...
- Docker构建nginx+uwsgi+flask镜像(二)
Dockerfile搭建环境并打包应用 在上一章Docker构建nginx+uwsgi+flask镜像(一)的学习中,我们学会用命令行一句一句在alpine环境中搭建nginx+uwsgi+flask ...
- 使用dockerfile构建nginx镜像
使用dockerfile构建nginx镜像 docker构建镜像的方法: commit.dockerfile 1.使用commit来构建镜像: commit是基于原有镜像基础上构建的镜像,使用此方 ...
- 使用dockerfile构建nginx镜像 转
docker构建镜像的方法: commit.dockerfile 1.使用commit来构建镜像: commit是基于原有镜像基础上构建的镜像,使用此方法构建镜像的目的:保存镜像里的一些配置信 ...
- docker构建自定义镜像
docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设 ...
- Dockerfile构建nginx镜像
Dockerfile构建nginx镜像 [root@bogon ~]# mkdir /opt/docker-file [root@bogon ~]# cd /opt/docker-file/ [roo ...
- Docker: 构建Nginx,PHP,Tomcat基础镜像
Usage: docker build [OPTIONS] PATH | URL | - [flags] Options: -t, --tag list # 镜像名称 -f, --file strin ...
- Docker构建YApi镜像, Docker安装YApi, Docker部署YApi
概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...
随机推荐
- 在Ubuntu 12.04 LTS下成功访问Windows域共享(mount //192.168.1.102/share -o user=DOMIAN\\user,pass=passwd /mnt)
Ubuntu 12.04 LTS下成功访问Windows域共享: 1,在命令行模式下 mount //192.168.1.102/share -o user=DOMIAN\\user,pass=pas ...
- unigui组件中client javascript delphi组件之间的操作
UniLabel组件: function OnClick(sender, e){ MainForm.UniLabel1.setText('Click!');} function Onmousemove ...
- HDU1851 A Simple Game
一个关于SG的博弈游戏,对于某个堆有$M_i$和$L_i$,那么这个堆的SG值为 $$SG_i = M_i \%(L_i+1)$$ 为什么这道题的$SG$函数就是这样子的呢?四个字:手算打表!! $L ...
- Wedding(2-SAT)
传送门 稍微复杂一点的2-SAT. 读题之后发现有以下限制: 1.每一对夫妻(包括新郎和新娘)不能坐在桌子的一侧. 2.对于一些给定的非法(自行脑补)的关系,这两个人不能坐在新娘的同一侧. 因为每个人 ...
- pgsql数据库应用两点注意
今天在写一个sql脚本时遇到了两个问题,记录一下. 1,pgsql中没有select top n语句,可以用limit n代替. 2,pgsql可以在定义函数存储过程时使用变量,但要注意函数定义中的函 ...
- Ural 1517. Freedom of Choice 后缀数组
Ural1517 所谓后缀数组, 实际上准确的说,应该是排序后缀数组. 一个长度为N的字符串,显然有N个后缀,将他们放入一个数组中并按字典序排序就是后缀数组的任务. 这个数组有很好的性质,使得我们运行 ...
- 逻辑频道号---DVB NIT LCN
先介绍NIT,NIT描述如下: 有一点要注意,NIT是对大网的描述,即NIT并不是描述当前的流,而是描述大网的某些或者全部流.如下图,TS流描述1-6共对6个频点不同的TS流进行了描述,具体对哪一个流 ...
- 【原创】Eclipse实现图形化界面插件-vs4e
vs4e插件下载地址:http://visualswing4eclipse.googlecode.com/files/vs4e_0.9.12.I20090527-2200.zip 下载完成后,解压,然 ...
- 探寻宝藏 --- 双线DP
双线DP , 在郑轻的时候 做过 这种双线DP , 这是多维DP 应该是比较简单的 但是那个 时间复杂度的优化 始终看不懂 . 先附上代码吧 , 等看懂了再来 , 补充一下 解释 . #in ...
- Selct 大全
添加option $("#ID option").each(function(){ if($(this).val()==111){ $(this).remove(); } }); ...