2022-03-08-docker部署

镜像制作

1. Dockerfile 编写

1.1 openresty 1.15.8.2 镜像制作

FROM centos:7.6.1810

MAINTAINER openresty1.15.8.2 <827516789@qq.com>
 
RUN   yum install -y yum-utils && yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo && yum clean  all &&  yum install -y openresty  

RUN useradd appuser &&  mkdir -p /mnt/data/logs/nginx/ && mkdir -p /home/appuser/openresty/nginx/logs/ &&  mkdir -p /home/appuser/www-prod/
ADD ./www-prod/ /home/appuser/www-prod/
ADD ./html /usr/local/openresty/nginx/html/
ADD ./conf/ /usr/local/openresty/nginx/conf/
RUN chown -R appuser.appuser /usr/local/openresty/ && chown -R appuser.appuser /home/appuser/
#RUN yum -y install epel-release  && yum install -y yum-utils && yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo && yum install -y openresty && yum clean all && chmod +x start.sh && chmod +x auto-reload.sh
#ADD nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
EXPOSE 8004
CMD /usr/local/openresty/nginx/sbin/nginx -g 'daemon off;' -c   /usr/local/openresty/nginx/conf/nginx.conf

nginx 1.23.2 镜像

# 发布空间:ccr.ccs.tencentyun.com/goff/arm-nginx:latest
# 使用 arm64v8/ubuntu:20.04 作为基础镜像
# 占用空间:127 MB
# 使用bash替换ubuntu的dash
# 设置nginx默认使用前台运行 daemon off;
FROM dockerhub.woa.com/arm64v8/ubuntu:20.04
# 安装 腾讯云文件配置 挂载服务
RUN apt-get update && apt-get install -y tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone \
&& apt-get install -y wget net-tools telnet inetutils-ping tcpdump tar procps vim zip unzip cron curl apt-utils \
&& wget -P /root/ https://tsf-doc-attachment-1300555551.cos.ap-guangzhou.myqcloud.com/%E5%85%AC%E6%9C%89%E4%BA%91/%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE/tsf-consul-template-docker.zip \
&& unzip /root/tsf-consul-template-docker.zip -d /root \
&& tar -zxf  /root/tsf-consul-template-docker.arm.tar.gz -C /root/ \
&& mv /root/consul-template /root/tsf-consul-template-docker \
&& rm -rf /root/tsf-consul-template-docker.tar.gz \
&& mkdir -p /data/tsf_std/stdout/logs \
# 安装nodejs  单纯静态资源部署 不需要此步骤
# && apt install -y gnupg2 ca-certificates lsb-release \
# && mkdir -p /data/nodejs && cd /data/nodejs \
# && wget -c https://nodejs.org/download/release/v12.22.10/node-v12.22.10-linux-arm64.tar.gz && tar -xf node-v12.22.10-linux-arm64.tar.gz \
# && ln -s /data/nodejs/node-v12.22.10-linux-arm64/bin/node /usr/local/bin/node && ln -s /data/nodejs/node-v12.22.10-linux-arm64/bin/npm /usr/local/bin/npm \
# && npm install -g yarn --registry=https://mirrors.tencent.com/npm/ \
# 安装nginx
&& apt install  -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring  \
&& curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null \
&& echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list \
&& apt update && apt-cache madison nginx && apt install -y nginx=1.23.2-1~focal && mkdir -p /etc/nginx/logs/ \
&& ln -b -s  /bin/bash  /bin/sh  \
&& sed -i '/worker_processes/adaemon off;' /etc/nginx/nginx.conf

ADD mime.types /etc/nginx/
ADD mime.types /etc/nginx/conf.d/

2. 构建镜像

docker build -t openresty:1.15.8.2 -f ./Dockerfile .