
Docker에서는 18.09+
이미지를 빌드할 때 전달된 SSH 키를 사용하기 위해 다음 접근 방식을 사용할 수 있습니다.
# syntax=docker/dockerfile:experimental
# example file
FROM node:10.15.3-alpine
RUN apk update && apk add openssh-client git
# use the forwarded ssh key
RUN --mount=type=ssh git clone <repo>
그런 다음 다음과 같이 이미지를 빌드합니다.
DOCKER_BUILDKIT=1 docker build --ssh default .
이를 달성하기 위해 사용하고 싶지만 docker-compose
작동하지 않는 것 같습니다. docker-compose 명령에 대한 플래그 가 없으며 이 작업을 수행하기 위해 파일 --ssh
에 설정할 수 있는 항목이 없습니다 docker-compose.yml
.
답변1
이 글을 쓰는 시점에서 가장 많이 찬성된 답변은 잘못되었습니다. 이것은 잘 작동합니다:
$ docker compose build --ssh default
$ docker compose version
Docker Compose version v2.5.1
이를 위해서는 공개 키가 SSH 에이전트에 표시되어야 한다고 생각됩니다.
ssh-add -L
그렇지 않은 경우 실행 ssh-add -K
하거나 macOS에서는 실행하십시오 ssh-add --apple-use-keychain
.
답변2
불행하게도 이 문제에 대한 의견에 따르면 현재는 지원되지 않는 것 같습니다.https://github.com/docker/compose/issues/6358 -- 실제로 "docker-compose BuildKit"에 대한 인터넷 검색은 BuildKit 사용이 현재 docker-compose에서 지원되지 않는다는 사실을 가리키는 것처럼 보이는 다양한 티켓에 대한 일부 링크를 제공합니다.
내가 시도할 해결 방법(이 티켓 댓글 중 일부에서 언급한 것 포함)은 docker-compose를 실행하기 전에 "docker build"를 호출하는 셸 스크립트를 사용하여 이미지를 별도로 빌드하는 것입니다.