序文プロジェクトをデプロイするときに、node.js、Redis、RabbitMQ、MySQL などに依存する必要がある場合があります。これらのサービスのデプロイに必要な関数ライブラリと依存関係は異なり、互いに競合する可能性もあります。これにより、展開に大きな困難が生じました。 Docker はこれらの問題を巧みに解決しました。依存関係の互換性の問題を解決するために、Docker は次の 2 つの方法を使用します。
この記事では、通常 SpringBoot を使用して開発するプロジェクトを Docker を使用してデプロイする方法について説明します。 DockerファイルDockerfile とは何ですか?Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コンテンツには、イメージをビルドするために必要な手順と指示が含まれています。 Dockerfile 構文カスタム イメージを構築するときに、各ファイルを 1 つずつコピーしてパッケージ化する必要はありません。 Docker に伝える必要があるのは、イメージの構成、必要な BaseImage、コピーする必要があるファイル、インストールする必要がある依存関係、および起動スクリプトだけです。将来的には、Docker がイメージの構築を支援してくれるでしょう。 上記の情報を記述したファイルがDockerfileファイルです。 Dockerfile は、イメージを構築するために実行する操作を記述した命令が含まれるテキスト ファイルです。各命令はレイヤーを形成します。 SpringBoot プロジェクトのパッケージ化準備プロジェクト: プロジェクトポート サーバーポート=8080 テンプレートフォルダに新しいindex.htmlを作成します。 <!DOCTYPE html> <html lang="ja" xmlns:th="http://www.thymeleaf.org"> <ヘッド> <メタ文字セット="UTF-8"> <title>Docker デプロイメント SpringBoot アプリケーション</title> </head> <本文> <h1>SpringBoot アプリケーションの Docker デプロイメント</h1> <img src="/static/img/2.jpg" alt="" width="100%"> </本文> </html> ホームページコントローラを定義してインデックスにジャンプする @コントローラ パブリッククラスindexController{ @リクエストマッピング("/") パブリック文字列インデックス(){ 「インデックス」を返します。 } } 効果をローカルでプレビューします。 SpringBootアプリケーションをローカルのjarにパッケージ化するmaven-compiler-pluginプラグインを準備する <ビルド> <!--コンパイルされパッケージ化されたファイル名--> <finalName>アプリ</finalName> <プラグイン> <プラグイン> <!--GAV 座標 (G 組織 ID、A プロジェクト ID、V バージョン番号)--> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <バージョン>3.8.1</バージョン> <!--構成: 一般的に言えば、ターゲットとソースは一致していますが、プログラムを他のバージョンの JDK で実行できるようにするため (ターゲット JDK のバージョンが低い場合、ソース コードは、バージョンが低い JDK でサポートされていない構文を使用できません)、ターゲットがソースと異なる状況が発生することがあります --> <構成> <!-- ソースコードで使用される JDK バージョン --> <ソース>1.8</ソース> <!-- 生成されるターゲット クラス ファイルのコンパイル済みバージョン --> <target>1.8</target> <!-- 中国語の文字化けを防ぐための文字セットのエンコード --> <encoding>UTF-8</encoding> </構成> </プラグイン> </プラグイン> </ビルド>
次にcleanを実行し、最後にpackageを実行してプロジェクトをパッケージ化します。 BUILD SUCCESS メッセージは、パッケージが正常に完了したことを示します。 パッケージ化が成功すると、ターゲットフォルダが表示され、パッケージ化されたjarパッケージがディレクトリ内に格納されます。 jarパッケージとDockerfileを準備するjar をデスクトップまたはカスタムの場所にコピーし、ローカルで Dockerfile ファイルを作成して書き込みます ( Dockerfileの作成Dockerfileの手順 java:8-alpine より コピー ./app.jar /tmp/app.jar エントリポイント java -jar /tmp/app.jar Dockerfileの説明 java:8-alpine より: java8 をベースにイメージをビルドします。デフォルトでは、Java イメージをビルドするには、環境変数をインストールして構成する必要があります。java:8-alpine イメージでは、これまでの手順がすべて完了しています。 コピー ./app.jar /tmp/app.jar jarパッケージをコピーする エントリポイント java -jar /tmp/app.jar エントリーコマンド ツールを使用してjarとDockerfileをサーバーにアップロードしますアップロード場所は個人によって異なります。私は /tmp/docker に保存しています。 一時ファイル mkdir ドッカー アップロードファイルを選択 イメージを構築するファイルをアップロードしたディレクトリに移動します: イメージをビルドするためのコマンドを入力します docker build -t テスト:1.0 。
コマンドの説明:
イメージをビルドするときに、Dockerfileに記述した3つのコマンドに従って3つのステップで実行されることがわかります。 ミラーを見るDocker でイメージ コマンドを表示します。 Docker イメージ カスタム画像テストを見ることができます コンテナを作成して実行するDocker イメージ コマンドを実行します。 docker run --name springboot -p 8080:8080 -d test:1.0 コマンドの説明:
コンテナが作成され、正常に実行されました。 実行中の画像を見る画像コマンドの実行 ドッカーps ブラウザはサーバーのポート8080にアクセスします モバイルアクセス: ログを表示コンテナログコマンドの表示 docker ログ -f springboot 例: コンテナのログを表示しますが、リアルタイムで更新されません。新しいログを表示するには、再度実行する必要があります。 docker ログ + コンテナ名 リアルタイム更新ログ docker logs -f + コンテナ名 Docker デプロイ SpringBoot アプリケーション チュートリアルは終了です。 SpringBoot アプリケーションの Docker デプロイメントに関するこの記事はこれで終わりです。SpringBoot アプリケーションの Docker デプロイメントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTMLとXHTML、HTML4とHTML5のタグの違いについて簡単に紹介します。
>>: カルーセルバナーの自動回転効果を実現する純粋な CSS
データベースはスロークエリログを有効にします設定ファイルを変更する設定ファイルmy.iniに次の2つ...
目次1. sysbenchの紹介#プロジェクトダウンロードアドレス: 2. Sysbenchのインス...
序文ストレス テスト中に、リソース使用のボトルネックによって発生する最も直接的なパフォーマンスの問題...
Node-red をデータベース (mysql) に接続するには、まずコンピューターに MySQL ...
この記事では、例を使用して、MYSQL データベース テーブル構造を最適化する方法を説明します。ご参...
1. MySQLイメージをダウンロードするコマンド: docker pull mysql 2. コン...
#!/bin/bash #SVNをダウンロード yum -y サブバージョンをインストールします ...
クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...
目次1. 書き込み可能: 書き込み可能2. 列挙可能: 列挙可能3. 設定可能: 設定可能オブジェク...
Linux システム管理者にとって、サービスがポートに正しくバインドされているか、またはポートをリッ...
目次序文解決:ステップ1ステップ2序文環境: VMware Workstation 上に Linux...
目次MySQLネイティブレプリケーションに基づくマスター-マスター同期ソリューションGaleraレプ...
目次導入実装手順キャンバス環境を作成するライティングボールBallクラスを継承するMoveBallク...
1. Javaプロジェクトをjarパッケージにパッケージ化するここではMavenツールを使用します...
Web ページのパフォーマンスを向上させるために、多くの開発者は、JavaScript、画像の最適化...