【发布时间】:2017-08-05 12:02:30
【问题描述】:
我想将我的 github 私钥分享到我的 docker 容器中。
我正在考虑通过 ARGs 通过 docker-compose.yml 分享它。
是否可以使用此处所述的 ARG 共享私钥? Pass a variable to a Dockerfile from a docker-compose.yml file
# docker-compose.yml file
version: '2'
services:
my_service:
build:
context: .
dockerfile: ./docker/Dockerfile
args:
- PRIVATE_KEY=MULTI-LINE PLAIN TEXT RSA PRIVATE KEY
然后我希望在我的Dockerfile 中使用它:
ARG PRIVATE_KEY
RUN echo $PRIVATE_KEY >> ~/.ssh/id_rsa
RUN pip install git+ssh://git@github.com/...
可以通过 ARGs 实现吗?
【问题讨论】:
-
您希望将私钥存储在镜像中还是保密?
-
不鼓励在镜像中使用私钥,因为它很容易推送到公共注册表。请考虑将其存储在外部,可以使用机密、由入口点处理的注入环境变量,也可以作为卷存储。
-
@Matt,我正在寻找更安全的解决方案,但不确定哪个更好。
标签: docker docker-compose dockerfile ssh-keys