启动后我需要在 docker 容器中设置一些环境变量。当 docker 启动 env X 获取值时,我想使用以下命令将 env Y 设置为值 X 的第一部分: Y=$(echo $X | cut -d'@' -f 1)
有没有办法做到这一点?
我在 Dockerfile 中尝试了 ENTRYPOINT 和 CMD,但它不起作用。docker 将部署在 Kubernetes 集群上,我也尝试在 config.yaml 文件中设置它们,但它也不起作用。
启动后我需要在 docker 容器中设置一些环境变量。当 docker 启动 env X 获取值时,我想使用以下命令将 env Y 设置为值 X 的第一部分: Y=$(echo $X | cut -d'@' -f 1)
有没有办法做到这一点?
我在 Dockerfile 中尝试了 ENTRYPOINT 和 CMD,但它不起作用。docker 将部署在 Kubernetes 集群上,我也尝试在 config.yaml 文件中设置它们,但它也不起作用。
您走在正确的轨道上,您必须通过 CMD 或 ENTRYPOINT 处理此问题,因为您希望它是动态的并从现有数据派生。不过,具体情况取决于您的容器和用例。
You can use the ENV command in your dockerfile like below:
ENV PORT 8080
Source and more info - https://vsupalov.com/docker-build-time-env-values/