docker Composer-compose를 사용하여 SSH 키 전달

docker Composer-compose를 사용하여 SSH 키 전달

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"를 호출하는 셸 스크립트를 사용하여 이미지를 별도로 빌드하는 것입니다.

관련 정보