百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

「Docker类」 使用Dockerfile构建并部署nginx

off999 2025-02-13 13:40 29 浏览 0 评论

关键字:Dockerfile、构建nginx镜像、部署nginx

参考地址:无

这里仅讲解如何运用Dockerfile文件来定制一个nginx镜像,不介绍Dockerfile文内指令详解。

一、目录结构

目录介绍:

Dockerfile:Docker构建文件。

entrypoint.sh: nginx镜像启动文件,启动后pid为1。

html:代码存放目录。

nginx: logrotate的配置文件,用于日子切割。

nginx.conf: nginx配置文件,文中暂不介绍。

run.sh:打包执行脚本,也可不采用。

ssl:存放https证书。

二、Dockerfile脚本

FROM centos:7
LABEL maintainer opsmayi

RUN yum -y install wget && \
 ?  mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak && \
 ?  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \
 ?  yum makecache && \
 ?  yum install -y gcc gcc-c++ make \
 ?  openssl-devel pcre-devel gd-devel \
 ?  crontabs iproute net-tools telnet curl logrotate && \
 ?  yum clean all && \
 ?  rm -rf /var/cache/yum/* && \
 ?  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
 ?  echo "00 ? ?  00 ? ?  * ? ? ? * ? ? ? * ? ? ? logrotate -f /etc/logrotate.d/nginx" >> /var/spool/cron/root && \
 ?  groupadd nginx && useradd -g nginx nginx
 ? ?
COPY nginx /etc/logrotate.d/
COPY nginx-1.18.0.tar.gz /

RUN tar zxf nginx-1.18.0.tar.gz && \
 ?  cd nginx-1.18.0 && \
 ?  ./configure --prefix=/usr/local/nginx \
 ?  --with-http_ssl_module \
 ?  --with-http_stub_status_module && \
 ?  make -j 4 && make install && \
 ?  rm -rf /usr/local/nginx/html/* && \
 ?  rm -rf /nginx* && \ 
 ?  rm -f /usr/local/nginx/conf/nginx.conf && \ 
 ?  mkdir -p /var/log/nginx && \
 ?  chmod 444 /etc/logrotate.d/nginx
 ? ?
COPY html /usr/local/nginx/html
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
COPY entrypoint.sh /entrypoint
COPY ssl /usr/local/nginx/conf/ssl

RUN chown -R nginx:nginx /usr/local/nginx/html/ && \
 ?  touch /var/log/nginx/access.log && \
 ?  chmod +x /entrypoint

ENV PATH $PATH:/usr/local/nginx/sbin
WORKDIR /usr/local/nginx

ENTRYPOINT ["/entrypoint"]

Dockerfile指令:

FROM:指定基础镜像

LABEL:标记镜像作者

RUN:用于在镜像容器中执行命令

COPY: 复制指令:从上下文目录中复制文件或者目录到容器里指定路径

ADD:ADD指令和COPY指令一致,优缺点可以直接百度,此处不做详细解释。

ENV:设置环境变量,定义了环境比那里,那么在后续的指令中,就可以使用这个环境变量。

WORKDIR:指定工作目录,用 WORKDIR 指定的工作目录,会在构建镜像的每一层中都存在(WORKDIR 指定的工作目录,必须提前创建好)。

ENTRYPOINT:类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序。但是, 如果运行 docker run 时使用了 --entrypoint 选项,将覆盖 CMD 指令指定的程序。优点:在执行 docker run 的时候可以指定 ENTRYPOINT 运行所需的参数。注意:如果 Dockerfile 中如果存在多个 ENTRYPOINT 指令,仅最后一个生效。

CMD:类似于 RUN 指令,用于运行程序,但二者运行的时间点不同。

详细指令说明可参考菜鸟教程。

三、脚本entrypoint.sh

脚本包含nginx启动、启动crond、打印nginx日志,脚本可根据自身需求调整。

脚本优势:

1、logrotate将nginx日志切割,保留最近时间的日志。

2、使用docker logs 命令直接看到nginx日志,不需要进入容器。

四、脚本run.sh[可忽略]

#!/bin/bash
docker stop nginx
docker rm nginx
docker build -t nginx:latest .
docker run -d --name nginx -p 80:80 -p 443:443 nginx:latest

注:该脚本只为方便随时修改后再进行Docker部署。

五、打包部署命令

#打包命令,镜像第一次构建耗时稍长。
[root@mayi nginx]# docker build -t nginx:latest .
#部署命令
[root@mayi nginx]# docker run -d --name nginx -p 80:80 -p 443:443 nginx:latest


源码链接:
https://pan.baidu.com/s/1eYpy5cEHPvMLiqHGn9sgsA

提取码:phk6


注:本文章只用于技术记录,不喜勿喷!感谢!

相关推荐

ftp手机客户端(ftp手机客户端存文件)

要想实现FTP文件传输,必须在相连的两端都装有支持FTP协议的软件,装在您的电脑上的叫FTP客户端软件,装在另一端服务器上的叫做FTP服务器端软件。  客户端FTP软件使用方法很简单,启动后首先要与...

原版xp系统镜像(原版xp系统镜像怎么设置)

msdnitellyou又可以上了,那里有。  制作需要的软件  在开始进行制作之前,我们首先需要下载几个软件,启动光盘制作工具:EasyBoot,UltraISO以及用来对制作好的ISO镜像进行测...

office2007密钥 office2016(office2007ultimate密钥)

word2016激活密钥有两种类型:永久激活码和KMS期限激活密钥。其中,永久激活密钥可以使用批量授权版永久激活密钥进行激活,如所示;而KMS期限激活密钥需要使用KMS客户端密钥进行激活,如所示。另外...

windows10系统启动盘制作(windows10启动盘制作教程)

Windows10系统更改启动磁盘的方法如下1、按快捷键Win+R,调出命令窗口2、输入msconfig,点【确定】3、在系统配置中,选择【引导】菜单4、选择要默认启动的磁盘,点【设置为默认值】,...

方正电脑怎么重装系统

购买一张系统盘,然后启动电脑,将购买的系统盘插入电脑光驱中,等待光驱读取系统盘后,点击安装系统,即可自动安装,等待安装完毕,电脑会自动重启,重新启动后,电脑的系统就安装完毕,可以使用了一、准备需要的软...

qq邮箱怎么写才正确
qq邮箱怎么写才正确

步骤/方式1一般默认的QQ邮箱格式是:QQ号码@qq.com,即QQ账号+@qq.com后缀步骤/方式2若要发送邮件,也要在对方的qq帐号末尾加上@qq.com1.每个人在注册QQ时都会有关联的一个邮箱,它的格式就是“QQ号码@qq.com...

2025-12-21 18:51 off999

电脑怎么看配置信息
电脑怎么看配置信息

要查看Windows电脑的配置信息,可以通过按下Win键+R,然后在弹出的运行对话框中输入“dxdiag”并按回车键打开DirectX诊断工具,可以查看有关处理器、内存、显卡等硬件信息。另外,还可以右键点击“此电脑”,选择“属性”来查看...

2025-12-21 18:03 off999

mpeg是什么格式(mpeg是什么格式和mp4的区别)

是视频格式,是电脑视频文件的一种,相对其它视频文件格式而言,mpeg格式占的存储空间相对比较小,那么像素也就相对比较低,图像也没有其它格式那么高清,不过一般情况下已经满足正常的使用。好多视频文件都是采...

电脑参数配置怎么选(电脑参数配置怎么选择)

1、CPU,这个主要取决于频率和二级缓存,三级缓存,核心数量。频率越高、二级缓存越大,三级缓存越大,核心越多,运行速度越快。速度越快的CPU只有三级缓存影响响应速度。2、内存,内存的存取速度取决于接口...

windows7字体(Windows7字体库在哪)

win7系统默认中文字体是微软雅黑字体1、首先我们先打开个性化2、然后我们打开“窗口颜色”3、然后我们点击“项目”里的桌面,选择“已选定的项目”4、下面就可以改字体,还有字体的颜色、大小5、然后点击“...

windows7x86是32位吗(windows7 x86)

X86不是代表操作系统,是代表的CPU的类型,如果你知道CPU的发展史就知道,个人用计算机的CPU很早的版本是从286、386、486、586、奔腾等等类型发展起来的,所以X86的代表PC的CPU的类...

固态硬盘删除后又自动恢复了

进入BIOS查看,第一启动项是不是UEFI引导,改掉它可以下载个pe,下载安装在本地磁盘里,重启进入pe工具,先给固态格式化分区,在ghost机械盘上的系统,还原到固态上。遇到这种情况一定不要在此...

win10版本回退(win10回退到以前版本)

如果你想在Windows10系统中回退到上一个版本,可以按照以下步骤进行操作:1.打开设置:点击Windows开始按钮,然后点击屏幕左侧的“设置”图标,或者使用键盘快捷键Win+I打开设置。2...

营业厅一个路由器多少钱(上门更换路由器收费吗)

移动免费装宽带活动全国都在搞,不过免费是有“门槛”的。以我所在的地区为例,只有月费在78元及以上的大流量套餐用户,才可以享受免费安装移动的宽带。月费越高,宽带的速率也越高,148元档可以安装200M的...

win10从u盘启动怎么设置(win10怎么从u盘启动电脑)

1.回到桌面。点击开始徽标,点击开始菜单左侧的设置。2.设置界面点击更新和安全。3.进入更新和安全界面,点击左侧的恢复选项。4.进入恢复界面,点击高级启动下面的立即重新启动。5.插入自己的U盘,等待...

取消回复欢迎 发表评论: