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 • 1
4. 修改配置文件
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. 测试
查看后台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
重复第8步,重新打成tar即可
10. 内网更新
把tar发布到阿里云或者华为云上即可