> 백엔드 개발 > Golang > 내 Docker 이미지에서 내 Go 패키지를 찾을 수 없는 이유는 무엇입니까?

내 Docker 이미지에서 내 Go 패키지를 찾을 수 없는 이유는 무엇입니까?

DDD
풀어 주다: 2024-11-04 20:51:01
원래의
283명이 탐색했습니다.

Why Can't I Find My Go Package in My Docker Image?

Go App을 사용하여 Docker에서 "패키지를 찾을 수 없음" 오류 문제 해결

Go 애플리케이션용 Docker 이미지를 빌드할 때 흔히 발생하는 문제 "패키지를 찾을 수 없습니다" 오류. 이는 Go 코드가 이미지 내에서 올바르게 구성되지 않았거나 종속성이 제대로 설치되지 않은 경우 발생할 수 있습니다.

문제:

Dockerfile에서 다음과 같은 경우 모든 파일을 루트 디렉터리에 복사하고 거기에 애플리케이션을 빌드하려고 시도한 다음 바이너리가 "/go/bin/app"에 있을 것으로 예상했지만 루트 디렉터리에 없으면 이 오류가 발생할 수 있습니다.

해결책:

이 문제를 해결하려면 다음 단계를 포함하도록 Dockerfile을 수정하세요.

  1. 프로젝트 파일을 "/go/src에 복사하세요." /myapp":

    ADD . /go/src/myapp
    로그인 후 복사
  2. 작업 디렉터리를 "/go/src/myapp"으로 설정합니다:

    WORKDIR /go/src/myapp
    로그인 후 복사
  3. 종속성 설치:

    RUN go get myapp
    로그인 후 복사
  4. 바이너리 설치/빌드:

    RUN go install
    로그인 후 복사
  5. 진입점 설정:

    ENTRYPOINT ["/go/bin/myapp"]
    로그인 후 복사

추가 문제 해결:

  • 로깅: Dockerfile에서 "ADD" 명령을 실행한 후 파일 구조를 확인하려면 docker exec ls.
  • 셸 액세스: 생성된 이미지의 셸에 들어가서 문제를 추가로 조사하려면 docker run --rm -it 을 사용하세요. /bin/sh.

위 내용은 내 Docker 이미지에서 내 Go 패키지를 찾을 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿