gpt4 book ai didi

reactjs - Docker从docker-compose.yml设置ENV变量

转载 作者:行者123 更新时间:2023-12-02 19:14:21 25 4
gpt4 key购买 nike

我有一个简单的案例,我尝试从docker-compose传递变量(最终是ENV变量)。现在看来似乎不起作用,我也不知道错误在哪里。docker-compose.yml

version: "3"
services:
sprintbotmanager:
container_name: sprintbotmanager
image: sprintbotmanager:latest
build:
context: .
args:
- REACT_APP_API_URL="aabbcc"
volumes:
- "/node_modules"
ports:
- "80:3000"
depends_on:
- sprintbotserver
environment:
- CHOKIDAR_USEPOLLING=true
stdin_open: true
Dockerfile
FROM node:10

MAINTAINER Kuba Wasilewski <jakub.wasilewski@sprint.pl>

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

ARG REACT_APP_API_URL

ENV REACT_APP_API_URL ${REACT_APP_API_URL}

COPY . .

EXPOSE 3000

CMD [ "npm", "start" ]
我似乎无法在 docker-composeDockerfile之间传递参数。任何建议将不胜感激:)

最佳答案

我认为问题在于您正在尝试传递容器运行时需要的enovorment变量,但是传递变量(通过argsARG)的方式仅在Docker Compose documentation中所述的构建过程中可用。
如果我没记错的话(我还没有找到说明该错误的文档,所以我可能是错的),但是我认为您已经在Dockerfile中正确设置了ENV变量,但是它被Docker Compose环境变量覆盖。
我还没有测试过,但是如果这是问题所在,应该通过将变量添加到docker-compose中的environment中来工作,如下所示:

environment:
- CHOKIDAR_USEPOLLING=true
- REACT_APP_API_URL="aabbcc"

关于reactjs - Docker从docker-compose.yml设置ENV变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64319920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com