Kay*_*Kay 5 docker reactjs docker-compose
我正在尝试 dockerize 我的 React 应用程序。
每当我运行时,docker-compose up它都会卡在“附加到”上
文件
# Stage 0 - Pre-requisite: Based On Node.js to BUILD and compile App.
FROM node:10.15.0-alpine as node
WORKDIR /app
COPY package.json /app/
RUN npm install
COPY ./ /app/
RUN npm run build
# Stage 1 - Based On Nginx to have ONLY a compiled and PRODUCTION ready build.
FROM nginx:1.15.8-alpine
COPY --from=node /app/build/ /usr/share/nginx/html
COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3'
services:
idcheck-demo:
image: idcheck-demo
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:8080
Run Code Online (Sandbox Code Playgroud)
nginx-custom.conf
server {
listen 8080;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过转到 0.0.0.0:8080 尝试访问它,但它只是在浏览器中返回以下错误
此页面不起作用 0.0.0.0 未发送任何数据。ERR_EMPTY_RESPONSE
首先检查容器是否已启动。您可以通过运行以下命令来执行此操作:
docker-compose ps
Run Code Online (Sandbox Code Playgroud)
如果你的配置我得到:
Name Command State Ports
---------------------------------------------------------------------------------------
54368216_idcheck-demo_1 nginx -g daemon off; Up 80/tcp, 0.0.0.0:8080->8080/tcp
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,容器正在运行,nginx 没有被守护进程,这解释了为什么在运行 docker-compose up 后控制台挂起。
您还可以运行快速 telnet 来查看 HTTP 服务是否正确响应:
telnet localhost 8080
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)
最重要的是,控制台卡在“正在附加到...”是由于 nginx 进程未作为守护进程运行而导致的。
您可以将容器置于后台运行:
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8674 次 |
| 最近记录: |