Docker: 분명히 존재하는 경우 'go.mod 파일을 찾을 수 없습니다'

王林
풀어 주다: 2024-02-09 15:30:10
앞으로
419명이 탐색했습니다.

Docker:“go.mod 文件未找到”,当它明显存在时

Docker는 널리 사용되는 컨테이너화 기술이지만, 이미지를 빌드할 때 가끔 이상한 문제가 발생합니다. 일반적인 문제 중 하나는 파일이 분명히 존재하는데도 빌드 프로세스 중에 "go.mod 파일을 찾을 수 없음" 오류 메시지가 나타나는 것입니다. 이 문제는 혼란스러울 수 있지만 실제로는 여러 가지 가능한 원인과 해결 방법이 있습니다. 이 글에서는 이 문제를 살펴보고 몇 가지 해결책을 제시하겠습니다. PHP 편집자 Baicao는 Docker 빌드가 원활하게 진행될 수 있도록 이 문제를 이해하고 해결하는 데 도움을 줄 것입니다.

질문 내용

go backend와 nextjs frontend(아직 만들지 않은)를 사용하여 풀스택 애플리케이션을 만들려고 합니다. 백엔드 만들기 튜토리얼을 따르고 있으며 지금까지 모든 것이 잘 작동하고 있습니다. 그러나 백엔드 항목을 자체 폴더로 이동하여 프런트엔드와 별도로 보관하고 싶습니다. 이제 docker compose build 时,它都会顺利完成,但是当我运行 docker compose up 실행할 때마다 다음과 같은 결과가 나옵니다(핫 리로드 기능을 위해 공기를 사용하고 있습니다):

으아악

하지만 Docker 데스크탑으로 가서 해당 이미지를 실행하면 ls 时,它显示 go.mod 거기에 있습니다!

그럼 무엇이 문제인가요?

변경을 시도했는데 compose.yaml 和我的 dockerfile 中的目标目录和上下文,但都没有成功。运行 go build 而不是 air 같은 오류가 발생했습니다.

내 파일 트리는 다음과 같습니다.

으아악

내 도커 파일:

으아악

및 compose.yaml:

으아악

어떤 도움이라도 대단히 감사하겠습니다! !

Solution

해결했습니다! 문제는 dockerfile에 파일을 복사한 후 WORKDIR 更改为 backend 을 해야 한다는 것입니다.

으아악

위 내용은 Docker: 분명히 존재하는 경우 'go.mod 파일을 찾을 수 없습니다'의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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