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 疑似クラス: 空っぽだと光る (サンプルコード)

推薦する

MySQL 8.0.23 インストールの超詳細なチュートリアル

目次序文1. 公式サイトからMySQLをダウンロードする2. 解凍ファイルを設定する3. 初期化4....

MySQLパスワード変更例の詳細な説明

MySQLパスワード変更例の詳細な説明長い間 MySQL を使用していませんでした。今日、MySQL...

MySQL 5.7.20\5.7.21 無料インストール版のインストールと設定のチュートリアル

参考までに、mysql 5.7.20 / 5.7.21 をダウンロード、インストール、構成します。具...

CSS3のfocus-withinセレクタの使用

擬似要素と擬似クラスところで、まずは疑似クラスセレクターと疑似要素セレクターについておさらいしておき...

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...

Docker.v19 で Docker Compose オーケストレーション ツールをインストールして構成する方法

1. Compose の紹介Compose は、マルチコンテナ Docker アプリケーションを定義...

Ubuntu 18.04 に VMware Tools をインストールする際のエラーを解決する

1. オンライン チュートリアルによると、Ubuntu 18.04 のインストールはまだ失敗します。...

Linux parted ディスク パーティション実装手順の分析

fdisk と比較すると、parted はあまり使用されず、主に 2T を超えるパーティションに使用...

Html/Css (初心者が最初に読むべきガイド)

1. Web標準の意味を理解する - なぜWeb標準を採用するのか***** コンテンツとスタイル...

mysql 5.6.23 winx64.zip インストール詳細チュートリアル

WindowsにMySQLの圧縮バージョンをインストールする方法の詳細については、以下を参照してくだ...

Docker クリーニングの一般的な方法と問題点

大規模な開発に Docker を使用する場合でも、クリーンアップ戦略がなければ、ディスクがすぐにいっ...

Kubernetes の応用分野の概要

Kubernetes は、アプリケーションの移植性とハイブリッド クラウド/マルチクラウドの展開をサ...

要素内の TimePicker は時間の一部を無効にします (分単位で無効)

プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...

JavaScript配列についてさらに詳しく知るのに役立つ記事

目次1. 配列の役割: 2. 配列の定義: 1. コンストラクタを通じて配列を作成する2. リテラル...

HTMLコードに基づく画像断片化読み込み機能の実装

今日は断片化された画像の読み込み効果を実装します。効果は次のとおりです。 これを 3 つのステップで...