ホームページ > バックエンド開発 > Golang > Go アプリケーションで Docker イメージをビルドするときに発生する「パッケージが見つかりません」エラーを修正する方法

Go アプリケーションで Docker イメージをビルドするときに発生する「パッケージが見つかりません」エラーを修正する方法

Patricia Arquette
リリース: 2024-11-04 21:11:01
オリジナル
728 人が閲覧しました

How to Fix the

Go アプリで Docker をビルドするときの「パッケージが見つかりません」エラーのトラブルシューティング

Go アプリケーションで Docker イメージをビルドするときに、「パッケージが見つかりません」というエラーが発生する場合がありますパッケージ。"このエラーの根本原因は、多くの場合、Dockerfile のセットアップにあります。

問題の定義

元の質問で指定された Dockerfile は、Go アプリケーションを構築し、その結果として得られる実行可能ファイルを /go/bin から実行しようとします。 /myapp.ただし、このアプローチでは、Dockerfile が Go アプリケーションの依存関係を明示的にインストールしたり、アプリケーションをコンパイルしたりしないため、エラーが発生します。

解決策

この問題を解決するには、次のように Dockerfile を変更する必要があります。次の手順:

FROM golang:1.9.2
ADD . /go/src/myapp
WORKDIR /go/src/myapp
RUN go get myapp
RUN go install
ENTRYPOINT ["/go/bin/myapp"]
ログイン後にコピー
  1. プロジェクト ファイルのコピー: ADD を使用します。 /go/src/myapp を使用して、すべてのプロジェクト ファイルを /go/src/myapp にコピーします。
  2. 作業ディレクトリを設定します: WORKDIR /go を使用して、作業ディレクトリを /go/src/myapp に設定します。 /src/myapp.
  3. 依存関係をインストールします: go get myapp を使用してアプリケーションの依存関係をインストールします。
  4. バイナリをインストール/ビルドします: go install を実行しますGo アプリケーションをコンパイルします。
  5. エントリ ポイントを設定します: コンパイルされた実行可能ファイルを実行するには、エントリ ポイントを /go/bin/myapp として指定します。

Docker のデバッグビルド プロセス

Docker ビルド プロセスをより深く理解するには、次のコマンドを使用できます:

  • docker exec: 既存のコンテナ内でコマンドを実行します。
  • docker run --rm -it [イメージ ハッシュ/名前] /bin/sh: さらに詳しく調べるために、イメージ内に対話型シェルを入力します。

以上がGo アプリケーションで Docker イメージをビルドするときに発生する「パッケージが見つかりません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート