前言
前端打包的dist文件在宿主机,nginx运行在docker-compose
问题
nginx.conf 在本地配置可以生效,但是链接到容器就报错
基于本地的nginx运行,本地nginx.conf 如下
server {
listen 8081;
location / {
root /usr/local/software/testweb/dist; # 指向你的Vue应用解压后的目录,宿主机目录
try_files $uri $uri/ /index.html; # 尝试直接找到文件,如果找不到则回退到index.html(Vue路由需要)
}
}
基于容器运行,映射到容器的nginx.conf配置如下
server {
listen 80;
root /usr/share/nginx/html; #容器内的地址
location / {
try_files $uri $uri/ /index.html; # 尝试直接找到文件,如果找不到则回退到index.html(Vue路由需要)
}
}
容器内部目录截图如下
容器的docker-compose配置如下
version: '3.8'
services:
nginx:
image: nginx:latest
ports:
volumes:
- /usr/local/software/dist:/usr/share/nginx/html
这里是将前面的本地dist路径,挂载到容器,然后上面的nginx.conf 的 root /usr/share/nginx/html; 容器内的地址,才会生效