docker - create-react-app docker:客户端路由不起作用,而是显示 nginx 欢迎页面
问题描述
我是 docker 新手,正在尝试将我的 react 应用程序 docker 化(它与 express.js 配合得很好)。在查看了一些关于 stackoverflow 的类似问题后,我决定发布我的问题。这是我的Dockerfile
(在我的反应项目的根源):
Dockerfile
FROM node:12.16-stretch-slim AS build
WORKDIR /src/
COPY package.json ./
RUN yarn config list & yarn
COPY . .
RUN yarn build
FROM nginx:1.17.8 AS final
COPY default.conf /etc/nginx/conf.d/default.conf
COPY --from=build /src/public /usr/share/nginx/html
COPY --from=build /src/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
这是我的自定义 nginx 配置文件,它应该启用客户端路由:(
default.conf
在我的反应项目的根目录):
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
现在,在我构建了映像之后,我在http://localhost:3000
. 这是我从浏览器(而不是真正的主页)访问 url 时看到的内容:
那么我在这里做错了什么?(我的docker是最新的稳定版,刚下载官网)谢谢大家的建议。
解决方案
推荐阅读
- siri - 如何让 Siri 读取 Pythonista 脚本的返回值?
- c# - AddAuthentication + RequireAuthenticatedUser = 多余?
- python - Python 的 range() 函数不循环
- python - 防止第 3 个库记录器创建记录文件
- node.js - 如果条件与反应量
- ios - 如何解析 JSON 以填充 tableview 部分和 indexpath?
- python - 在 python 中使用 re 时忽略大小写的最快方法是什么?
- ruby-on-rails - 使用 Rails 中的 Turbolinks 在自定义控制器中形成表单
- java - 将 JUnit 5 参数注入 @BeforeEach
- linux - 如何使用 inotifywait 监视带有时间和文件的目录?