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发布到阿里云或者华为云上即可