docker build 没有使用 ENV 设置环境变量

aksh02

尝试使用 golang 和 react 代码构建 docker 镜像。未设置环境变量 JWT_SECRET_KEY。

# Build the Go API
FROM golang:latest AS builder
ADD . /app
WORKDIR /app/server
ENV JWT_SECRET_KEY=DefaultKey
RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-w" -a -o /main .

# Build the React application
FROM node:alpine AS node_builder
COPY --from=builder /app/client ./
RUN npm install
RUN npm run build

# Final stage build, this will be the container
# that we will deploy to production
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /main ./
COPY --from=node_builder /build ./web
RUN chmod +x ./main
EXPOSE 8080
CMD ./main

为了构建它,我运行了命令

docker build -t webapp .
詹姆斯·穆德

如果您想JWT_SECRET_KEY在生产阶段进行设置,则需要将其移动到该阶段。或者,如果您在两者中都需要它,请复制它。因此,将您的 docker 文件更改为

# Build the Go API
FROM golang:latest AS builder
ADD . /app
WORKDIR /app/server
RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-w" -a -o /main .

# Build the React application
FROM node:alpine AS node_builder
COPY --from=builder /app/client ./
RUN npm install
RUN npm run build

# Final stage build, this will be the container
# that we will deploy to production
FROM alpine:latest
RUN apk --no-cache add ca-certificates
ENV JWT_SECRET_KEY=DefaultKey 
COPY --from=builder /main ./
COPY --from=node_builder /build ./web
RUN chmod +x ./main
EXPOSE 8080
CMD ./main

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ng build从环境变量设置基本href

使用Docker环境变量获取凭证

docker-compose使用.env文件中的环境变量

在Docker中设置环境变量

如何在docker-compose.yml的.env文件中使用环境变量?

如何使用rustc-env标志指定环境变量?

在Webpack中使用Babel Loader时如何设置Babel环境变量(BABEL_ENV)?

使用docker run -e的环境变量

如何在Google App Engine标准环境中使用Google Cloud Build或其他方法设置环境变量?

使用环境变量在docker-compose.yaml中设置布尔值

Docker没有获取Postgres环境变量

与为容器设置环境变量相比,docker config有什么好处?

在Django Celery中使用.env中的环境变量

使用env命令设置OS X环境变量,包括键/值文件中的空格

在shell的同一行中在docker alpine中设置和使用环境变量

使用Docker和PHP从env文件加载环境变量

使用Gradle任务构建映像时无法在Docker容器内设置环境变量

Docker使用卷共享环境变量

无法使用docker run -e或--env-file选项设置环境变量

如何使用kubernetes env访问容器环境变量?

如何在Docker容器中使用pwd设置环境变量

Docker Compose没有选择环境变量

使用env设置包含空间的环境变量

如何在现有的Docker容器中永久设置环境变量?

docker swarm:对环境变量使用秘密

无法使用 set .env 文件保存环境变量

Dockerfile - 使用 env 文件中的环境变量

Circleci 从现有的 env var 创建环境变量

如何在python中使用dotenv在本地.env文件中设置环境变量?