tos*_*o92 3 docker dockerfile docker-compose
你好!
我有点卡在 docker-compose 中,因为我需要将我的私有 SSH 密钥传递给我Dockerfile在我的声明中声明的docker-compose.yml,如下所示:
docker-compose.yml
version: '3.7'
services:
worker:
build: .
args:
- SSH_PRIVATE_KEY
Run Code Online (Sandbox Code Playgroud)
文件
ARG SSH_PRIVATE_KEY
RUN mkdir /root/.ssh/ && \
echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa && \
chmod 600 /root/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
使用 docker 本身,这很容易,因为我只需要运行以下命令:
docker build . --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)"
Run Code Online (Sandbox Code Playgroud)
但是在docker-compose中... docker-compose中的ARGS配置问题在另一个问题中描述的就是不能让私钥在docker-compose.yml文件里面。
我需要让 docker-compose 访问里面的密钥~/.ssh/id_rsa:有关如何执行该操作的任何线索?
谢谢!
您可以在指定构建参数时省略该值,在这种情况下,它在构建时的值是 Compose 运行环境中的值。
在您的情况下,您可能希望worker使用以下命令构建服务:
SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" docker-compose build
Run Code Online (Sandbox Code Playgroud)
顺便说一句,你docker-compose.yml错了(失踪context),应该是:
version: '3.7'
services:
worker:
build:
context: .
args:
- SSH_PRIVATE_KEY
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1544 次 |
| 最近记录: |