docker工从shell中构build参数

我想通过docker-compose构build一个使用我的私钥来克隆私人git repos的图像。

或多或less构成如下:

  myservice: build: context: . args: RSA: ~/.ssh/id_rsa 

以上都不行,以下都不行:

  myservice: build: context: . args: RSA: $(cat ~/.ssh/id_rsa) 

docker构build命令工作得很好,但在forms

 docker build --build-args RSA=$(cat ~/.ssh/id_rsa) -t myservice:latest 

你可以在docker-compose build中使用相同的语法:

 docker-compose build --build-args RSA=$(cat ~/.ssh/id_rsa) 

不幸的是,你不能使用build-args选项来编写或启动…所以你需要--no-build然后运行--no-build选项

像你的Dockerfile添加ARGS

ARGS RSA

为了在构build时读取它