【发布时间】:2021-02-08 02:20:51
【问题描述】:
我在使用 Docker 时遇到了问题,基本上我创建了一个 .env 文件,供前端服务使用,如下所示:
frontend:
container_name: begreentannery_frontend
build:
context: ./frontend/
args:
API_URL: ${API_URL}
MAILCHIMP_ENDPOINT: ${MAILCHIMP_ENDPOINT}
FORM_KEY: ${FORM_KEY}
GOOGLE_ANALYTICS_ID: ${GOOGLE_ANALYTICS_ID}
GOOGLE_TAG_MANAGER_ID: ${GOOGLE_TAG_MANAGER_ID}
FACEBOOK_PIXEL_ID: ${FACEBOOK_PIXEL_ID}
ports:
- '3001:80'
depends_on:
- backend
后端服务实际上是一个由 Gatsby 制作的网站。当我启动应用程序执行docker-compose up —build 时,我可以看到变量在gatsby-config 中正确传递,例如:
console.log("API_URL:",process.env.API_URL)
但如果我尝试在组件中读取相同的变量,我会得到undefined。
这怎么可能?为什么我可以读取gatsby-config.js 中的所有环境变量,但不能读取组件中的所有环境变量?
【问题讨论】:
标签: docker environment-variables gatsby