gpt4 book ai didi

docker - 将 ARG 从 docker-compose.yml 传递到 docker 镜像

转载 作者:行者123 更新时间:2023-12-02 19:51:56 32 4
gpt4 key购买 nike

所以我创建了一个 NodeJS API,它在 package.json 中包含一个私有(private) NPM 包。

我在这个项目中有以下 Docker 文件:

Dockerfile

FROM node:10

WORKDIR /usr/src/app
ARG NPM_TOKEN
COPY .npmrc ./
COPY package.json ./
RUN npm install
RUN rm -f ./.npmrc
COPY . .

CMD [ "npm", "start" ]

.npmrc

//registry.npmjs.org/:_authToken=${NPM_TOKEN}

我已经通过运行以下命令成功构建了这个 API:

docker build --build-arg NPM_TOKEN=${MY_NPM_TOKEN} -t api:1.0.0 .

这成功构建了图像。

在我的主应用程序中,我有一个 docker-compose.yml,我想运行这个图像。

version: '3' services: redis: container_name: redis image: redis:3.2.8 ports: - "6379:6379"volumes: - ./data:/data api: container_name: api 图像:api :1.0.0 构建:上下文:。参数:- NPM_TOKEN={MY_NPM_TOKEN} 端口:-“3001:3001”

当我运行 docker-compose up 时,它失败并出现错误:

无法替换配置中的环境:${NPM_TOKEN}

有谁知道为什么我的图像没有接收传递的 ARG

最佳答案

据我了解,您正在尝试从名为 MY_NPM_TOKEN 的环境变量中传递 NPM_TOKEN 参数。

但是,您应该更新docker-compose.yaml 文件的语法错误

来自 - NPM_TOKEN={MY_NPM_TOKEN}

- NPM_TOKEN=${MY_NPM_TOKEN}

关于docker - 将 ARG 从 docker-compose.yml 传递到 docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60120197/

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