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 でのワイルドカードを使用したファジークエリの実装に関する簡単な説明

MySQL データベースでは、あいまいクエリが必要な場合にワイルドカードを使用します。まず、演算子と...

Vueでアイコンをカスタマイズする手順

ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...

Vue+echarts で積み上げ棒グラフを実現

この記事では、積み上げ棒グラフを実装するためのVue+echartsの具体的なコードを参考までに紹介...

CentOS7 64でのMySQL5.6.40の詳細なインストール手順

CentOS7 64でのMySQL5.6.40のインストール手順1) 以前にインストールしたMySQ...

MySQL のデバッグと最適化に関する 101 のヒントを共有する

MySQL は強力なオープンソース データベースです。データベース駆動型アプリケーションの数が増える...

Zabbixで監視する必要があるホストを追加するための詳細な手順

監視ホストの追加ホスト 192.168.179.104 が zabbix 監視項目に追加されます (...

border-radius 値の設定に関する質問

問題記録今日はプログレスバーに似た小さなコンポーネントを完成させるつもりでした。プロトタイプは次のよ...

ログインスライダー検証を実装するJavaScript

この記事では、ログインスライダー検証を実装するためのJavaScriptの具体的なコードを参考までに...

初心者のためのWebサイト構築入門 ③ エイリアス(CNAME)レコードとURL転送

①. エイリアス(CNAME)レコードの使用方法:前回の投稿のドメイン名解決では、A レコードの解...

HTML タイトル属性をラップする方法

数日前にプログラムを書いていたとき、プロンプト情報 (TITLE) を新しい行で囲みたいと思いました...

Nginx の構成と HTTP 実装コード分析との互換性

OpenSSL を使用して SSL キーと CSR ファイルを生成するHTTPS を設定するには、秘...

vue3 watch と watchEffect の使い方と違い

1.リスナーを見る時計のご紹介 'vue' から { ref, reactive, ...

W3C チュートリアル (6): W3C CSS アクティビティ

スタイル シートは、ドキュメントの表示方法、発音方法、または入力方法を記述します。スタイル シートは...

Docker Swarm サービス オーケストレーション コマンドの詳細な説明

1. はじめにDocker には、タスクを構成する複数の Docker コンテナをオーケストレーショ...

Vue はデータの変更をどのように追跡しますか?

目次背景例誤解 - コールスタックを表示するためにウォッチでブレークポイントを設定する正しいアプロー...