# linux创建数据卷目录
mkdir -p /data/nginx/conf
mkdir -p /data/nginx/log
mkdir -p /data/nginx/html
先创建一个nginx,拿到配置文件,然后要执行删除掉这个nginx
# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /data/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /data/nginx/
# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx
重新运行--net host 不可以-p,-p之后使用新的配置文件将不在生效
-d 192.168.1.238:9999/nginx目前镜像不可用,我这是本地搭了一个可以访问外网的地址下载
docker run \
--net host \
--name nginx \
-v /data/nginx/conf/nginx.conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/conf/conf.d/conf.d:/etc/nginx/conf.d \
-v /data/nginx/log:/var/log/nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-d 192.168.1.238:9999/nginx
运行
server {
listen 801;
server_name localhost;
location / { ## 前端项目
root /usr/share/nginx/html/dist/;#一定要容器的位置
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /pc-api/ { ## 后端项目 - 管理后台
proxy_pass http://192.168.1.104:9500/api/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /app-api/ { ## 后端项目 - 用户 App
proxy_pass http://192.168.1.104:9500/app-api/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}