Docker:通过参数共享私钥

前端之家收集整理的这篇文章主要介绍了Docker:通过参数共享私钥 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想将我的github私钥共享到我的docker容器中.

我正在考虑通过ARG通过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?

最佳答案
如果您可以使用最新的docker 1.13(或ce 17.03 ce),则可以使用docker swarm secret:请参阅“ Managing Secrets In Docker Swarm Clusters

这样就可以将机密与正在启动的容器相关联:

docker service create --name test \
    --secret my_secret \
    --restart-condition none \
    alpine cat /run/secrets/my_secret

如果您不能使用docker swarm,则可以尝试设置docker credential helper.
参见“ Getting rid of Docker plain text credentials”.但这可能不适用于ssh私钥.

您可以使用独立的机密管理器(例如Hashicorp Vault)在“ Secrets and LIE-abilities: The State of Modern Secret Management (2017)”中检查其他相关选项.

猜你在找的Docker相关文章