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 内のファイルをコピーした後、 WORKDIR
を backend
に変更する必要があることです。
以上がDocker: 明らかに存在する場合に「go.mod ファイルが見つかりません」の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。