linux服务器部署docker版nginx(nginx容器化)

为了服务器安全,nginx端口不直接暴漏在外,现在服务器使用了docker版nginx,记录下使用步骤,docker安装就不再叙述,之前有写

分为2种适用于服务器能上网和不能上网的情况

这里写的一个sh文件和dockerfile文件,用于docker启动后直接拉取线上仓库的nginx镜像

build_and_run.sh文件内容:

#!/bin/sh

echo "准备发布"
echo "\n"

echo "停掉旧容器..."
docker stop zw-nginx 
echo "完成\n"

echo "删除旧容器..."
docker rm zw-nginx 
echo "完成\n"

echo "删除旧镜像..."
docker image rm zw-nginx:latest
echo "完成\n"

echo "构建新镜像..."
docker build --rm -t zw-nginx:latest . -f nginx.dockerfile
echo "完成\n"

echo "启动新版本..."
docker run -d \
       --name zw-nginx \
	   -p 443:443 \
	   -p 8889:8889 \
	   -v /home/www:/home/www \
	   -v /home/nginx/conf.d:/etc/nginx/conf.d \
       --restart=always zw-nginx:latest
echo "完成\n"


其中443,8889都为nginx启动后可监听端口

nginx.dockerfile文件内容:

from nginx:latest
MAINTAINER yushoji@gmail.com
ENV TZ=Asia/Shanghai \
    DIR=/etc/nginx

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
	&& echo $TZ > /etc/timezone

WORKDIR $DIR
CMD ["nginx", "-g", "daemon off;"]

能上网的服务器直接执行build文件即可自动向仓库拉取nginx
不能上网的服务器需要先提前导入nginx镜像,导入命令:sudo docker load < nginx_latest.tar
镜像生成步骤之前已有叙述。

猜你喜欢

转载自blog.csdn.net/weixin_42857718/article/details/132037096