Docker部署nginx并内网部署更新

1. 下载nginx镜像

docker pull nginx
或者
docker pull nginx:1.21.1

2. 创建nginx映射文件目录

mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html

3. 把容器中的文件复制到宿主机

# 生成容器
docker run --name nginx -p 8090:80 -d nginx

把容器配置文件、html部署文件、日志文件复制出来

docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /home/nginx/

然后删除容器

docker rm -f nginx

4. 修改配置文件

cd /home/nginx/conf/conf.d
vim default.conf

default.conf内容如下

server {
    listen       10082;
    listen  [::]:10082;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

	location ^~ /api/ {
        #测试环境
		#proxy_pass http://xx.xx.xx.xx:18020/;
		# 生产环境
		proxy_pass http://xx.xx.xx.xx:18020/;
        }
}

5. 把前端包部署

cd /home/nginx/html
rz -ry

上传前端包

6. 启动容器

docker run \
-p 8090:10082\
--name jk-nginx \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

7. 测试

访问http://xx.xx.xxx.xx:8090/

查看后台url是否正确

8. 生成Tar包

查看容器id

docker ps

复制容器id,生成镜像

docker commit -m "my-nginx" -a "eric" 容器id my-nginx:1.0

生成tar

docker save -o /home/my-nginx.tar my-nginx:1.0

把这个tar从服务器上下载下来就行

9. 部署更新

修改宿主机映射出来的conf和html

扫描二维码关注公众号,回复: 14805145 查看本文章

重复第8步,重新打成tar即可

10. 内网更新

把tar发布到阿里云或者华为云上即可

猜你喜欢

转载自blog.csdn.net/qq_35921773/article/details/128665085