>백엔드 개발 >Golang >Docker: 분명히 존재하는 경우 'go.mod 파일을 찾을 수 없습니다'

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

王林
王林앞으로
2024-02-09 15:30:10446검색

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으로 문의하시기 바랍니다. 삭제