>백엔드 개발 >Golang >로컬 패키지로 Docker 이미지를 빌드할 때 \'가져오기 경로 오류\'를 수정하는 방법은 무엇입니까?

로컬 패키지로 Docker 이미지를 빌드할 때 \'가져오기 경로 오류\'를 수정하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-03 01:10:29672검색

How to Fix

로컬 패키지로 Docker 이미지 빌드: '가져오기 경로 오류' 해결

로컬 패키지로 Docker 이미지를 빌드할 때 다음과 같은 문제가 발생할 수 있습니다. "가져오기 경로가 호스트 이름으로 시작하지 않습니다."를 나타내는 오류 메시지. 이 오류는 Docker 컨테이너가 애플리케이션에 필요한 종속성을 찾을 수 없을 때 발생합니다.

이 문제를 해결하려면 애플리케이션을 가져오고 빌드하는 데 필요한 단계를 명시적으로 포함하도록 Dockerfile을 수정해야 합니다. "golang:onbuild" 이미지는 단순화된 Dockerfile을 제공하지만 종속성 검색 작업을 처리하지 않습니다.

사용자 지정 Dockerfile 생성

대신 다음을 생성할 수 있습니다. 다음 단계에 따라 사용자 정의 Dockerfile을 만듭니다.

  1. 기본 이미지를 지정합니다. 이 경우 "golang:1.6"이 사용됩니다.
  2. 컨테이너에 소스 코드를 추가합니다. 로컬 프로젝트를 "/go/src/yourapplication" 디렉터리에 추가합니다.
  3. 종속성 업데이트: "go get github.com/jadekler/git-go-websiteskeleton"을 실행하여 "git-go-websiteskeleton" 종속성을 가져옵니다. .
  4. 애플리케이션 빌드: "go install yourapplication"을 실행하여 컨테이너 내에서 애플리케이션을 빌드합니다.
  5. 진입점 정의: "ENTRYPOINT"를 빌드된 애플리케이션의 경로로 설정합니다. "/go/bin/yourapplication"으로.
  6. 포트 노출: 포트 8080에서 컨테이너에 액세스할 수 있도록 "EXPOSE 8080" 줄을 포함합니다.

Dockerfile 예

FROM golang:1.6
ADD . /go/src/yourapplication
RUN go get github.com/jadekler/git-go-websiteskeleton
RUN go install yourapplication
ENTRYPOINT /go/bin/yourapplication
EXPOSE 8080

Docker 이미지 빌드

사용자 정의 Dockerfile을 생성한 후 다음 명령을 사용하여 이미지를 빌드할 수 있습니다.

docker build -t <image-name> .

이 명령은 로컬 패키지와 해당 종속 항목이 설치된 Docker 이미지를 생성합니다. 그런 다음 원하는 대로 컨테이너를 실행하고 배포할 수 있습니다.

위 내용은 로컬 패키지로 Docker 이미지를 빌드할 때 \'가져오기 경로 오류\'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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