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

推薦する

XHTML 入門チュートリアル: XHTML タグ

XHTML タグの紹介<br />おそらく、前のセクションで、XHTML ファイルと通常...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

Vueはボタン切り替え画像を実装します

この記事では、ボタン切り替え画像を実現するためのVueの具体的なコードを例として紹介します。具体的な...

弾力性のあるナビゲーション効果を実現するJavaScript

この記事では、弾性ナビゲーション効果を実現するためのJavaScriptの具体的なコードを参考までに...

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

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

ネイティブ js はフォームの定期的な検証を実装します (検証後にのみ送信)

以下の機能が実装されています。 1. ユーザー名: onfouc は msg ルールを表示します。o...

Vueタイマーの実装方法

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

Reactイベントメカニズムソースコード分析

目次原理ソースコード分析委任されたイベントバインディングすべてのサポートされているイベントを聴くネイ...

フォント名に従ってフォントを呼び出すと、ブラウザに必要なフォントが表示されます。

質問 1: ブラウザに必要なフォントを表示するように指示するにはどうすればよいでしょうか? フォント...

CentOS7 での mysql 5.7.23 のバイナリ インストール

インターネット上のインストール情報は不均一で、落とし穴だらけです。インストールにはかなりの労力がかか...

TS 数値区切り文字とより厳密なクラス属性チェックの詳細な説明

目次概要演算子の改良と正確なinstanceofよりスマートなオブジェクトリテラル推論固有のシンボル...

ブラウザのURLの前に小さなアイコンを表示する方法

多くのウェブサイトを閲覧すると、ブラウザのアドレスバーの前に小さなアイコンがあり、ブラウザのタブの位...

IEの送信フォームの記録履歴クリックリターン情報を実現するためのCSSスタイルコントロールはまだ残っています

これは主に CSS スタイルのコントロールと META タグです。コードをコピーコードは次のとおりで...

Centos7 インストール mysql5.6.29 シェル スクリプト

この記事では、参考までにmysql5.6.29のシェルスクリプトを共有します。具体的な内容は次のとお...