ホームページ  >  記事  >  バックエンド開発  >  Docker: 明らかに存在する場合に「go.mod ファイルが見つかりません」

Docker: 明らかに存在する場合に「go.mod ファイルが見つかりません」

王林
王林転載
2024-02-09 15:30:10363ブラウズ

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

Docker は人気のあるコンテナ化テクノロジですが、イメージを構築するときに奇妙な問題が発生することがあります。よくある問題の 1 つは、ファイルが明らかに存在しているにもかかわらず、ビルド プロセス中に「go.mod ファイルが見つかりません」というエラー メッセージが表示されることです。この問題はわかりにくいかもしれませんが、実際には考えられる原因と解決策がいくつかあります。この記事では、この問題を調査し、いくつかの解決策を提供します。 PHP エディター Baicao は、この問題の理解と解決に役立ち、Docker のビルドがスムーズに進むようにします。

質問内容

goバックエンドとnextjsフロントエンド(まだ作成していません)を使ってフルスタックアプリケーションを作ろうとしています。バックエンドを作成するためのチュートリアルに従っていますが、これまでのところすべてが正常に動作しています。ただし、バックエンドのものを独自のフォルダーに移動して、フロントエンドから分離しておきたいと考えています。 docker compose build を実行すると、問題なく完了しますが、docker compose up を実行すると、次のような結果が得られます (熱過負荷機能に空気を使用しています):

リーリー

しかし、Docker デスクトップに移動してそのイメージで ls を実行すると、go.mod があると表示されます。

それでは、どこに問題があるのでしょうか?

compose.yaml と dockerfile の両方でターゲット ディレクトリとコンテキストを変更しようとしましたが、成功しませんでした。 air の代わりに go build を実行しても、同じエラーが発生します。

これは私のファイル ツリーです:

リーリー

私の docker ファイル:

リーリー

および compose.yaml:

リーリー

ご協力いただければ幸いです。 !

解決策

解決しました!問題は、dockerfile 内のファイルをコピーした後、 WORKDIRbackend に変更する必要があることです。

リーリー

以上がDocker: 明らかに存在する場合に「go.mod ファイルが見つかりません」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。