新建Dockerfile,内容如下
FROM nginx
ADD nginx.conf /etc/nginx/conf.d/default.conf
ADD docker-entrypoint.sh /docker-entrypoint.sh
COPY dist /usr/share/nginx/html
RUN chmod -R 755 /usr/share/nginx/html
CMD ["sh","/docker-entrypoint.sh"]
其中dist为vue打包目录,nginx.conf为nginx配置文件
nginx.conf内容如下
server {
listen 80;
server_name localhost;
location /lims/ {
# 反向代理到 8080 端口
proxy_pass http://192.168.3.55:8080/lims/;
add_header Access-Control-Allow-Origin *;
}
location / {
root /etc/nginx/html;
index index.html index.htm;
}
}
其中proxy_pass后的路径为后端端口路径,这样就可以一个端口访问前后端了
location的其他写法
location ^~/lims/ {
if ($request_uri ~* ^/lims/(.*)$) {
proxy_pass http://lims:8080/$1;
}
add_header Access-Control-Allow-Origin *;
}
docker-entrypoint.sh内容
#!/usr/bin/env bash
nginx -g "daemon off;"