【发布时间】:2020-11-14 23:49:35
【问题描述】:
我查看了Can we pass ENV variables through cmd line while building a docker image through dockerfile?,它向我展示了如何使用docker build 传递环境变量。在看到没有定义环境变量后,我查看了Passing environment variables not working with Docker,但这涉及通过docker run 传递环境变量。
这是我的prod.Dockerfile:
FROM ubuntu:20.04
ARG SSH_PRIVATE_KEY
RUN echo "Key is $SSH_PRIVATE_KEY."
和docker build 命令:
docker build -f prod.Dockerfile \
--build-arg SHH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" \
.
结果输出:
Key is .
然而cat ~/.ssh/id_rsa 的输出是:
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
我错过了什么?
【问题讨论】:
标签: docker environment-variables docker-build