gpt4 book ai didi

node.js - 为 docker 镜像生成 .env 文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:01 25 4
gpt4 key购买 nike

我想生成一个 .env 文件并在使用 Dockerfile 进行 docker 构建期间将其推送到 docker 镜像。问题是 .env 文件未复制到 docker 镜像。我尝试将 COPY .env 添加到/website/.env 但找不到它。我在构建过程中执行一个 nodejs 脚本,该脚本从 AWS 获取环境,然后创建一个 .env 文件。

FROM node:10.15.3-alpine

ARG SERVER_ENV

# Create app directory

RUN mkdir /website
WORKDIR /website

COPY . /website/
RUN node aws ${SERVER_ENV}
COPY .env /website/.env
COPY package.json yarn.lock ./
RUN ls -al
RUN pwd

# Install Yarn
RUN npm install -g yarn@1.15.2

# Install app dependencies
RUN yarn install

# Build source files
RUN yarn run build

更新我终于找到了解决它的方法。我像这样在 Dockerfile 中分隔任务:

FROM mhart/alpine-node:10 as env
ARG SERVER_ENV

WORKDIR /usr/src
COPY aws.js /usr/src
RUN yarn add aws-sdk
COPY . .
RUN node aws ${SERVER_ENV}

FROM mhart/alpine-node:10 as base
WORKDIR /usr/src
COPY package.json yarn.lock /usr/src/
RUN yarn install
COPY . .
COPY --from=env /usr/src .
RUN yarn build


FROM mhart/alpine-node:10
WORKDIR /usr/src
COPY --from=base /usr/src .

最佳答案

也许您有一个 .dockerignore 文件会阻止 .env 文件复制到镜像?

关于node.js - 为 docker 镜像生成 .env 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55456553/

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