一、基于 apline + nginx1.8 构建基础镜像
项目结构
Dockerfile 文件内容
FROM alpine:latestMAINTAINER ZHIXING@xxx.comLABEL version="v1"## 工作目录WORKDIR /usr/local/nginx/## 更换 alpine 源为 aliyunRUN echo http://mirrors.aliyun.com/alpine/v3.11/main > /etc/apk/repositories && \echo http://mirrors.aliyun.com/alpine/v3.11/community >> /etc/apk/repositoriesRUN apk update && apk upgrade## 安装 ngxin依赖RUN apk add iotop gcc libgcc libc-dev libcurl libc-utils pcre-dev zlib-dev libnfs make pcre pcre2 zip unzip net-tools pstree wget libevent libevent-dev iproute2 openssl openssl-dev## 添加 nginx源码Add nginx-1.18.0.tar.gz /usr/local/nginx/## 编译 nginx 源码(配置ssl模块)RUN cd /usr/local/nginx/nginx-1.18.0 \&& ./configure --prefix=/usr/local/nginx --with-http_ssl_module && make && make install## 时区ENV TZ='CST-8'## 开放 80 端口EXPOSE 80 443ENTRYPOINT ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]#CMD ["-g","daemon off;"]#CMD ["nginx"]
容器中重要的路径
/usr/local/nginx/:Nginx 根路径/usr/local/nginx/sbin/nginx: nginx 启动脚本/usr/local/nginx/logs/:Nginx 日志存放目录/usr/local/nginx/conf/nginx.conf: Nginx 配置文件/usr/local/nginx/conf/cert/: Nginx ssl 证书存放路径(可以自定义)/usr/local/nginx/conf/vhost/: Nginx 配置文件存放路径/usr/local/nginx/html/: 静态资源存放路径i
二、docker-compose 案例
version: '2'# nginxsingleNginx:image: nginx-1-18-customer:v1 ## 镜像#build: .container_name: nginx_1_18privileged: trueports:- "80:80"- "443:443"volumes:- ./data/nginx/logs/:/usr/local/nginx/logs/ ## 日志- ./volumn-data/nginx/nginx.conf:/usr/local/nginx/conf/nginx.conf ## 配置文件- ./volumn-data/nginx/cert/:/usr/local/nginx/conf/cert/ ## 证书- ./volumn-data/nginx/vhost/:/usr/local/nginx/conf/vhost/ ## 配置文件- ./volumn-data/nginx/html/:/usr/local/nginx/html/ ## html- ./data/cw_manager_application/upload/:/home/upload/ ## 静态资源restart: always
