비공개 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,
여기서
키 파일 이름
인증에 사용되는 SSH 키에 id_rsa와 같은 기본 이름이 있는지 확인하세요. 사용자 정의 키 이름을 지정하려면 Docker의 .ssh/config 파일에서 호스트 항목을 구성하십시오.
이 지침을 따라야 합니다. Docker 컨테이너 내에서 GitLab의 비공개 모듈을 활용하는 Go 앱을 구축할 수 있습니다.
위 내용은 SSH 인증과 함께 개인 GitLab 모듈을 사용하여 Go 앱을 Docker화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!