Docker 이미지를 빌드할 때 \'가져오기 경로가 호스트 이름으로 시작되지 않습니다\' 오류가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-03 16:57:30
원래의
518명이 탐색했습니다.

Why Am I Receiving a

Docker 빌드 오류: '가져오기 경로가 호스트 이름으로 시작하지 않습니다.'

로컬 패키지를 사용하여 Docker 이미지를 구성하려고 하면 사용자에게 "가져오기" 오류가 발생할 수 있습니다. 경로가 호스트 이름으로 시작하지 않습니다." 이 문제는 로컬 패키지를 종속성으로 활용하려고 Dockerfile을 빌드할 때 발생합니다.

간단한 Dockerfile의 경우 사용자는 일반적으로 다음과 유사한 파일을 만듭니다.

FROM golang:onbuild
EXPOSE 8080
로그인 후 복사

이 형식은 다음을 따릅니다. "Docker를 사용하여 Go 서버 배포" 문서에 설명된 접근 방식이 있습니다. "git-go-websiteskeleton"의 코드를 빌드 소스로 통합하면 다음 오류가 나타날 수 있습니다.

import "git-go-websiteskeleton/app/common": import path does not begin with hostname
package git-go-websiteskeleton/app/common: unrecognized import path "git-go-websiteskeleton/app/common"
import "git-go-websiteskeleton/app/home": import path does not begin with hostname
package git-go-websiteskeleton/app/home: unrecognized import path "git-go-websiteskeleton/app/home"
import "git-go-websiteskeleton/app/user": import path does not begin with hostname
package git-go-websiteskeleton/app/user: unrecognized import path "git-go-websiteskeleton/app/user"
로그인 후 복사

기본 원인은 애플리케이션 빌드가 Docker 컨테이너 내에서 발생하여 종속성에 액세스할 수 있어야 한다는 것입니다.

이 오류를 수정하려면 "golang:onbuild"의 기본 구문을 넘어서세요. 애플리케이션을 빌드하기 위한 세부 단계가 포함된 맞춤형 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
로그인 후 복사

이렇게 하면 컨테이너 내에 소스 코드와 종속성을 통합하도록 Dockerfile이 수정됩니다. 그런 다음 애플리케이션을 구성하고 실행을 시작한 다음 외부 액세스를 위해 포트 8080을 지정합니다.

위 내용은 Docker 이미지를 빌드할 때 \'가져오기 경로가 호스트 이름으로 시작되지 않습니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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