SpringBoot プロジェクトの Docker クイック デプロイメントの紹介

SpringBoot プロジェクトの Docker クイック デプロイメントの紹介

1. Dockerをインストールする

まず Linux 環境を開き、次のコマンドを入力してインストールします。

yum install dockerをインストールします

インストールが成功したかどうかを確認します docker --version

#systemctl start dockerを起動します

ダウンロードが非常に遅い場合は、国内の Alibaba Cloud イメージに切り替えてダウンロードできます。

イメージソースを変更する sudo vim /etc/docker/daemon.json

内容は以下のとおりです。
{
 "レジストリミラー": ["https://m9r2r2uj.mirror.aliyuncs.com"]
}

保存して終了し、Docker を再起動します。
systemctl dockerを再起動します

2. Redisをインストールする

まず、DockerHub で redis を検索します。クリックして詳細ページに入ります。下にスクロールして使用方法を確認します。特定のバージョンを選択する必要がある場合は、選択できるサポートされているタグがあります。次に、最新バージョンを取得する場合は、次のようにコマンド チュートリアルまで下にスクロールします。

redisイメージをプルする docker pull redis

ローカルの Redis イメージの Docker イメージを表示する

redisを実行する
docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes

docker runは--name myredisを実行することを意味し、myredisという名前を付けることを意味します。
-p 6379:6379は、サーバーのポート6379をdockerのポート6379にマッピングし、dockerのポートにサーバーのポートを介してアクセスできるようにすることを意味します。
-dは、redis redis redis-serverをバックグラウンドサービスとして実行することを意味します --appendonly yesは、ハードディスクに保存できる永続キャッシュモードをオンにすることを意味します

3. MySQLをインストールする

MySQL イメージをプルダウンします。
docker pull mysql:5.7.27

Docker は MySQL を実行します:
docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p 3306:3306 mysql:5.7.27 

4. RabbitMQをインストールする

これは 1 行のコマンドで実行できます。RABBITMQ_DEFAULT_PASS=password はパスワードの設定を意味することに注意してください。このコマンド行は、イメージのプルダウンなどの操作を秘密裏に実行します。

docker run -d --hostname my-rabbit --name myrabbit -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management

5. ElasticSearchをインストールする

プルダウンミラー操作は省略されます:

起動する:
docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3

画像を入力してください:
docker exec -it es_643 /bin/bash

中国語の単語分割プラグインをインストールします。
./bin/elasticsearch-plugin をインストール https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

終了してイメージを再起動する
docker を再起動 es_643

6. プロジェクトのDockerイメージをビルドする

GitHub からプロジェクトをプルするには、次のコマンドを使用します。

ドロップダウン項目 (eblog):
https://github.com/MarkerHub/eblog.git をクローンします

フォルダに移動します:
cd 電子ブログ

パック:
mvn clean package -Dmaven.test.skip=true

コンパイルされた jar パッケージを Linux サーバーにアップロードします。

次に、パッケージ化された jar パッケージ コードをイメージにビルドできる DockerFile を記述します。

java:8より
エクスポーズ8080

ボリューム /tmp

ENV TZ=アジア/上海
実行 ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezone

eblog-0.0.1-SNAPSHOT.jar /app.jar を追加します。
bash -c 'touch /app.jar' を実行します。
エントリポイント ["java","-jar","/app.jar"]

FROM java:8はjdk8環境に基づいていることを示します
EXPOSE 8080は公開ポートが8080であることを意味します
VOLUME /tmpは/tmpディレクトリにマウントすることを意味します
ADD eblog-0.0.1-SNAPSHOT.jar /app.jar は、jar パッケージをイメージ サービスのルート ディレクトリにコピーし、名前を app.jar に変更することを意味します。
RUN bash -c 'touch /app.jar'はapp.jarを作成することを意味します
ENTRYPOINT ["java","-jar","/app.jar"] は、起動コマンド java -jar を実行することを意味します。

次に、Dockerfile をインストールし、DockerFile を使用して eblog-0.0.1-SNAPSHOT.jar をミラーにビルドします。

イメージをビルドします。docker build -t eblog 。

Dockerイメージを表示

このステップが完了すると、準備作業は完了です。次に、プロジェクトを直接開始します。

7. プロジェクトイメージを実行してプロジェクトの起動を完了します。

コマンドは次のとおりです。

docker run -p 8080:8080 -p 9326:9326 --name eblog --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredis -d eblog

-p 8080:8080 -p 9326:9326: 9326 はインスタント メッセージングに必要な ws ポートです --link es:ees は関連付けられたコンテナーを示し、コンテナー es は ees としてエイリアスされます

eblog 印刷ログを表示:

docker ログ -f eblog

これまでのところ、プロジェクトは成功しています!

知らせ: DockerComposeを使うと簡単になります

SpringBoot プロジェクトの Docker 高速デプロイメントの紹介に関するこの記事はこれで終わりです。より関連性の高い Docker デプロイメント SpringBoot コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • SpringBoot アプリケーションの Docker デプロイメントの実装手順
  • SpringBoot と Docker の統合の詳細なプロセス
  • Springboot アプリケーションを迅速にデプロイするために Docker とアイデアを統合する詳細なプロセス

<<:  JSONP クロスドメインシミュレーション Baidu 検索

>>:  CSS 疑似クラス: 空っぽだと光る (サンプルコード)

推薦する

Docker クロスホストネットワーク (オーバーレイ) の実装

1. Dockerのホスト間通信Docker クロスホスト ネットワーク ソリューションには以下が含...

Vue で @person 関数を実装する方法

この記事ではvueを使用し、マウスクリックイベントといくつかの小さなページの最適化を追加します。 基...

Bash スクリプトでの配列メソッドの作成と使用の概要

Bashで配列を定義するbash スクリプトで新しい配列を作成する方法は 2 つあります。 1 つ目...

複数の Tomcat を展開して起動し、プロジェクトを移行する方法を 1 つの記事で学習します。

目次tomcatをデプロイする1.ダウンロードして解凍する2. 設定ファイルを変更する移植プロジェク...

HTML ページに SVG を挿入する複数の方法

SVG (Scalable Vector Graphics)は、XML 構文に基づいた画像形式です。...

MySQL: データの整合性

データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。参照整合性:参照整合性...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

MySQL データベースの show processlist コマンドの使用の分析

実際のプロジェクト開発では、多数のクエリや挿入、特にマルチスレッド挿入など、データベースに大きな負荷...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

ローカルで起動したときに Vue プロジェクトがクッキーを保持できない問題を解決する

vueプロジェクトをパッケージ化してサーバーにデプロイし、正常にログインできるが、ローカルで起動する...

MySQL無料インストール版のパスワード設定に関する詳細なチュートリアル

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

Navicat Premium15 でクラウド サーバーに接続する際のデータベースの問題と落とし穴

クラウドサーバーを使用するとデータベースに接続できる場合もありますが、Navicat Premium...

HTMLベースの複数画像アップロードのプレビュー機能を実装

最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...

初心者のための HTML コーディングガイドライン 30 選

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

dockerネットワーク双方向接続の詳細な説明

Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...