gpt4 book ai didi

docker - 在 Entrypoint 文件中导出环境变量不起作用?

转载 作者:行者123 更新时间:2023-12-02 18:18:25 25 4
gpt4 key购买 nike

我在将环境变量导出到 docker 入口点文件时遇到了一些问题。

这是我的 docker 文件内容:

   FROM ubuntu:16.04
ADD entrypoint.sh .
RUN chmod 777 entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]
CMD ["/bin/bash"]

在 Entrypoint 文件中,我尝试运行命令“export TOKEN=$client_token”。然后,我使用该图像文件创建一个容器,然后运行“docker exec -it/bin/bash”命令,然后进入容器,我继续运行“set”命令以显示所有环境变量。所以,我找不到之前导出的 $TOKEN 变量。

如何将环境变量导出到入口点文件?

最佳答案

您必须在运行时使用“-e”将宿主环境变量 (client_token) 注入(inject)到 docker 容器中:

docker run -it --rm -e client_token=<whatever> <your image>

例如,这适用于这种入口点:

#!/bin/bash
export TOKEN=$client_token
echo "The TOKEN is: ${TOKEN}"
# do stuff ...

如果你不知道容器运行时的 token 值,你应该在附加期间注入(inject)(docker exec)并在里面执行所需的操作,但如果运行它可能对你无效容器已经需要该信息。

docker exec -it -e TOKEN=<whatever> <your container>

BR

关于docker - 在 Entrypoint 文件中导出环境变量不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60549981/

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