【问题标题】:How to deploy docker react app on clever-cloud如何在智能云上部署 docker react 应用程序
【发布时间】:2020-07-23 07:50:29
【问题描述】:

我对聪明的云和 docker 都是新手。我想用 nginx 创建一个在 docker 上运行的应用程序并对聪明的云做出反应。但是,每次我推送到智能云时,部署都失败了 错误信息:

0.0.0.0:8080 上还没有任何监听。如果此消息后部署失败,请更新您的配置并重新部署。

我的 docker-compose 文件:

version: '3.7'

services:
    front:
        container_name: front
        build:
            context: .
            dockerfile: Dockerfile
        volumes:
            - '.:/app'
            - '/app/node_modules'
        ports:
            - 8080:80
        labels:
            NAME: "App Front"
        networks:
            - app-network
        environment:
            - CHOKIDAR_USEPOLLING=true
        expose:
          - 8080

networks:
    app-network:
        driver: bridge

Dockerfile 的内容

FROM node:alpine as builder
WORKDIR /app
COPY . ./
RUN yarn install
RUN yarn run build
FROM nginx:alpine
COPY docker/nginx/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

【问题讨论】:

    标签: docker deployment dockerfile


    【解决方案1】:

    create-react-app 在 Clever Cloud 上运行良好。

    您的应用应该监听 0.0.0.0:8080,您可以使用环境变量(HOST 和 PORT)进行设置。

    如果您要部署的 Docker 应用程序未在 8080 上进行侦听,则可以使用 CC_DOCKER_EXPOSED_HTTP_PORT 环境变量来定义正确的端口。

    注意:最新版本 (3.4.1) 存在一些问题

    https://github.com/facebook/create-react-app/issues/8688

    提出了几种解决方案来解决这个问题:

    Add stdin_open: true on your docker-compose command
    Add an CI=true as an environment variable
    Downgrade your react-scripts to 3.4.0
    

    【讨论】:

      猜你喜欢
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-12
      相关资源
      最近更新 更多