title: nginx-docker author: Gamehu tags:
由于事业部专门成立团队做部署平台,由于各种因素迟迟没有上线,以前的Jenkins也不能用了,但是前后端需要有环境进行联调,后端还好说每个模块本地起个服务就行,前端就尴尬了本地起服务限制太多,所以需要想办法搞个环境,遂想着悄悄咪咪(深藏功与名...)搞了个环境让大家能先跑起来不至于耽误工期。
满足以下要求:
因为生成环境是基于docker做部署,所以先弄个nginx的镜像。nginx的镜像茫茫多,不过大体都很全面,我觉得太重,所以就弄了个最简单的。
version: '3.1'
web:
my-nginx:
container_name: new-monitor-nginx
image: nginx
restart: always
logging:
driver: "journald"
volumes:
- /home/xxx/mount/nginx.conf:/etc/nginx/nginx.conf
- /home/xxx/mount/html:/etc/nginx/html
ports:
- "443:443"
network_mode: "bridge"
environment:
- TZ=Asia/Shanghai
ulimits:
core: 0
# 用官方的nginx镜像
FROM nginx
# ENTRYPOINT 类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,用于传参。
# eg:docker run nginx:one -c /etc/nginx/new.conf,容器内会运行nginx -c /etc/nginx/new.conf
ENTRYPOINT ["nginx", "-c"]
#COPY 复制,从上下文目录中复制文件或者目录到容器里指定路径。
COPY nginx.conf /etc/nginx/nginx.conf
COPY html /etc/nginx/html
# RUN,在 docker build时作用
RUN rm /etc/nginx/nginx.conf /etc/nginx/conf.d/default.conf
# EXPOSE 声明端口,镜像服务的守护端口,以方便配置映射。
EXPOSE 8088
# VOLUME 用于挂载数据卷
VOLUME /var/log/nginx/log
#CMD 类似于 RUN 指令,在docker run 时运行。
CMD ["nginx", "-g", "daemon off;"]
docker build -t xxx
docker-compose down
sleep 10
docker-compose up -d
后续直接
docker restart 容器名
其实最终我又把docker干掉了....因为有同事悄悄咪咪手动装了nginx,优化了一下把nginx挂到了系统服务上,同样的也是直接systemctl xxx就行了。
反正结果是好的,结合alibaba toolkit也是玩的飞快了。
干研发的不就得折腾吗,对吧。