gpt4 book ai didi

docker - 在 docker 中从 CMD 传递参数

转载 作者:行者123 更新时间:2023-12-01 13:34:55 26 4
gpt4 key购买 nike

我有下面的 Dockerfile。

FROM node:boron

# Create app directory
RUN mkdir -p /usr/src/akamai
WORKDIR /usr/src/akamai

# Install app dependencies
COPY package.json /usr/src/akamai/
RUN npm install

# Bundle app source
COPY . /usr/src/akamai

#EXPOSE 8080
CMD ["node", "src/akamai-client.js", "purge", "https://www.example.com/main.css"]

下面是我在 docker 镜像构建后从 CMD 运行的命令

docker run -it "akamaiapi" //It executes the CMD command as given in above Dockerfile.

CMD ["node", "src/akamai-client.js", "purge", "https://www.example.com/main.css "]//我要这两个参数直接从 docker 命令传递而不是在 Dockerfile 中硬编码,所以我的 Docker 运行命令可能是这样的:

docker run -it "akamaiapi" queue
docker run -it "akamaiapi" purge "https://www.example.com/main.css"
docker run -it "akamaiapi" purge-status "b9f80d960602b9f80d960602b9f80d960602"

最佳答案

您可以通过 combination of ENTRYPOINT and CMD 来做到这一点.

  • ENTRYPOINT指定在容器启动时将始终执行的命令。

  • CMD指定将提供给 ENTRYPOINT 的参数。

因此,使用 Dockerfile:

FROM node:boron
...

ENTRYPOINT ["node", "src/akamai-client.js"]

CMD ["purge", "https://www.example.com/main.css"]

正在运行的容器的默认行为:

docker run -it akamaiapi

就像命令:

node src/akamai-client.js purge "https://www.example.com/main.css"

如果你这样做了:

docker run -it akamaiapi queue

容器中的底层执行是这样的:

node src/akamai-client.js queue

关于docker - 在 docker 中从 CMD 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44279990/

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