>백엔드 개발 >Golang >SSH 인증과 함께 개인 GitLab 모듈을 사용하여 Go 앱을 Docker화하는 방법은 무엇입니까?

SSH 인증과 함께 개인 GitLab 모듈을 사용하여 Go 앱을 Docker화하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-26 15:33:10601검색

How to Dockerize Go Apps Using Private GitLab Modules with SSH Authentication?

비공개 GitLab 모듈을 사용하여 Go Apps Docker화

비공개 GitLab 모듈을 사용하여 Docker 컨테이너에서 Go 앱을 구성할 때 다음을 설정하는 것이 중요합니다. SSH 인증을 효과적으로 수행하세요. 참조된 질문과 관련된 문제를 해결하는 향상된 접근 방식은 다음과 같습니다.

업데이트된 Dockerfile

GitLab에서 비공개 패키지를 가져오려면 Dockerfile에서 다음 줄을 수정하세요.

# Allow private repo pull
RUN git config --global url."https://my-personal-access-token:[email protected]/".insteadOf "https://gitlab.com/"

SSH 구성

다음 명령을 업데이트하여 SSH 키를 추가하고 SSH를 사용하도록 Git을 구성하세요.

RUN mkdir ~/.ssh
RUN touch ~/.ssh/known_hosts
RUN ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts

빌드 명령

사용 Docker의 실험적 구문을 사용하고 --mount=type=ssh 옵션을 지정하여 SSH를 활성화합니다. 마운팅:

DOCKER_BUILDKIT=1 docker build --progress=plain --mount=type=ssh .

SSH 연결 디버깅

SSH 연결 문제를 디버깅하려면 빌드 이동 단계 전에 다음 명령을 실행하세요.

RUN ssh -A -v -l git gitlab.com

AppArmor 문제 해결

다음으로 인해 액세스 거부 오류가 발생하는 경우 AppArmor, docker apparmor 프로필 /var/lib/snapd/apparmor/profiles/snap.docker.docker를 수정하고 다음 줄을 추가합니다.

/run/user/<uid>/keyring/ssh rw,

여기서 docker 빌드 명령을 실행할 사용자 ID입니다.

키 파일 이름

인증에 사용되는 SSH 키에 id_rsa와 같은 기본 이름이 있는지 확인하세요. 사용자 정의 키 이름을 지정하려면 Docker의 .ssh/config 파일에서 호스트 항목을 구성하십시오.

이 지침을 따라야 합니다. Docker 컨테이너 내에서 GitLab의 비공개 모듈을 활용하는 Go 앱을 구축할 수 있습니다.

위 내용은 SSH 인증과 함께 개인 GitLab 모듈을 사용하여 Go 앱을 Docker화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.