ホームページ >バックエンド開発 >Golang >golang Webアプリケーション用のdockerfileを作成する

golang Webアプリケーション用のdockerfileを作成する

王林
王林転載
2024-02-08 21:57:20999ブラウズ

为 golang Web 应用程序创建 dockerfile

php エディター Youzi は、golang Web アプリケーション用の dockerfile の作成方法を紹介します。コンテナ化テクノロジーが発展するにつれて、Docker を使用してアプリケーションを構築およびデプロイすることがますます一般的になってきています。この記事では、さまざまな環境でアプリケーションを簡単にデプロイして実行できるように、golang Web アプリケーション用の有効な dockerfile を作成する方法を学びます。この記事では、初心者でも経験豊富な開発者でも、Docker 化された開発作業をスムーズに実行するための明確な手順と実用的なヒントを提供します。始めましょう!

質問の内容

そこのチュートリアルに従ってみたのですが、ディレクトリの docker コンテナの設定方法が原因で、何らかの理由で Web アプリケーションの dockerfile を作成できないようですdockerを使用して複数のデバイスで実行できるようにします。

これは私のプロジェクト構造です:

リーリー

これは私が使用している dockerfile です:

リーリー

/build に go ファイルがないというエラーが表示されます。これは正しく、go ファイルは cmd/web/

にあるため、このエラーは理にかなっています。

しかし、それを修正することはできないようです。私はこれをやってみました:

リーリー

ここでの主な違いは、run go build -o app .run go build cmd/web/ -o app . に置き換えましたが、エラーが発生することです。 sum.go と mod.go はディレクトリに存在しませんが、これも当てはまります

Web アプリケーション用の Docker コンテナを作成し、その中で別のディレクトリにある go ファイルを使用してコンテナを構築するにはどうすればよいですか?また、Web アプリケーションを通常に実行するときは、cmd/web ディレクトリ内のすべての golang ファイルを同時に実行する必要がある go run cmd/web/*.go を使用します。したがって、すべての golang ファイルを一緒にビルドしてコンパイルするには、dockerfile も必要です。

============================================== = =

p>解決策

@radin khosraviani さん、

######コピー。 .

ソース コードのみがコピーされます。

go モジュール ファイル もコピーする必要があります。 以下では、docker ファイルを変更し、 copy go.mod .

copy go.sum . run go mod download を追加しました。 リーリー

以上がgolang Webアプリケーション用のdockerfileを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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