SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)

SpringBoot のパッケージ化と Docker へのアップロード、およびマルチインスタンス デプロイメントの実装に関する簡単な分析 (IDEA バージョン)

最近友人からDockerを触ったことがあるかと聞かれました。あまり自信がなかったので答えられませんでした^ - ^(クラウドをいじり始めた頃に出会って、しばらくいじって、その後は実際の開発ではほとんど使わなかったので、ほぼ忘れていました。)、今日は以前のメモを整理したり、プロセスを整理したりして時間を過ごしました。次回いじったときにCVできるように記録しておきます〜

1. Dockerをインストールしてリモートアクセスを有効にする

1.1 インストール

# 仮想マシンのカーネルバージョンを確認します。3.10 以上である必要があります uname -r
# Dockerをインストールする
yumでdockerをインストール
# インストールを確認するにはyと入力してください# Dockerを起動します
systemctl ドッカーを起動する
# dockerのバージョンを確認する docker -v
# 起動時にDockerを起動する
systemctl ドッカーを有効にする
# Dockerを停止する
systemctl ドッカーを停止する
# Dockerを再起動
systemctl dockerを再起動します

1.2 リモートアクセスを有効にする

docker.serviceファイルを変更する

vim /usr/lib/systemd/system/docker.service

ExecStart行を変更する
#ExecStart=/usr/bin/dockerd -H fd://--containerd=/run/containerd/containerd.sock
実行開始=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

# 設定ファイルをリロードする systemctl daemon-reload 
# サービスを再起動します systemctl restart docker.service 
# ポートが開いているか確認します(Alibaba Cloud などのサーバーの場合は、「セキュリティ」->「ファイアウォール」でポート 2375 を開く必要があります)
ネットスタット -nlpt
# 有効かどうか確認 curl http://127.0.0.1:2375/info

2. IDEAはdockerプラグインをインストールし、接続します

2.1 プラグインのインストール

これは非常に簡単で、ステップごとにスクリーンショットを撮っただけです。 。 。 (これは誰ですか?IDEAの中国語版はどのように使用すればいいですか?)

ここに画像の説明を挿入

2.2 Dockerに接続する

ここに画像の説明を挿入

3. jar パッケージをパックし、Dockerfile を記述します。jar パッケージのパックについてはここでは説明しません。 。 。 Dockerfileを書き、下線部分に注意して修正する

ここに画像の説明を挿入

java:8より
# メンテナー情報 MAINTAINER houyu
# ここでの /tmp ディレクトリは実行時に匿名ボリュームとして自動的にマウントされ、/tmp に書き込まれた情報はコンテナストレージ層 VOLUME /tmp に記録されません。
# コンテキストディレクトリの /build/libs/fastboot-0.0.1.jar をコンテナにコピーします COPY /build/libs/fastboot-0.0.1.jar fastboot-0.0.1.jar
# fastboot-0.0.1.jar にアクセスできるようにするには、bash モードで実行します。# RUN 新しいレイヤーを作成し、そのレイヤーでこれらのコマンドを実行します。実行が完了したら、このレイヤーへの変更をコミットして、新しいイメージを形成します。
bash -c "touch /fastboot-0.0.1.jar" を実行します。
# タイムゾーンを指定します # ENV TZ='Asia/Shanghai'
# ランタイム コンテナーによって提供されるサービス ポートを宣言します。これは単なる宣言です。この宣言により、アプリケーションは実行時にこのポートのサービスを開きません。EXPOSE 10007
#コンテナの起動プログラムとパラメータを指定します <ENTRYPOINT> "<CMD>"
エントリポイント ["java","-jar","fastboot-0.0.1.jar", "--spring.profiles.active=prod"]

4. IDEA構成ビルドイメージ

4.1 実行スクリプトを構成する

ここに画像の説明を挿入

4.2 スクリプトを実行する

ここに画像の説明を挿入

5. ホストはイメージをチェックし、展開が成功したことを確認します。

ここに画像の説明を挿入

6. 複数のインスタンスをデプロイする

具体的なコマンドは以下のとおりです。

ここに画像の説明を挿入

操作スクリプト

# Docker イメージを表示
# インストールされたコンテナを表示する docker ps -a
# c1726e8f3819 イメージをクローンし、fb1.2 コンテナとしてインストールします # -d: バックグラウンドで実行します # -p: ホスト ポートをコンテナ内のポートにマップします ホスト ポート: コンテナ内のポート docker run --name fb1.2 -d -p 10008:10007 c1726e8f3819 
# インストールされたコンテナを表示する docker ps -a 
# 実行中のコンテナを表示する docker ps 
# fb1.1 を検証
カール 127.0.0.1:10007 
# fb1.2 を検証
カール 127.0.0.1:10008

よく使われるdockerコマンド(プライベートwine)

1) イメージ操作 (https://hub.docker.com/)

1. 画像のタグなど、画像に関する詳細情報を取得します。
docker search image キーワードの例: docker search redis
2. イメージをプルします (:tag はオプションです。tag はラベルを意味し、ほとんどの場合ソフトウェアのバージョンで、デフォルトは最新です)
プルを高速化するには、docker pull registry.docker-cn.com/library/redis:5.0.3 を実行します。
docker pull アクセラレーション アドレス + イメージ名: タグ、例: docker pull redis:5.0.3
3. すべてのローカル画像を表示
Docker イメージ
4. 指定したローカルイメージを削除する
docker rmi イメージ ID または名前 (例: docker rmi Tomcat)
5. 画像の名前を変更する
docker tag IMAGEID (イメージID) REPOSITORY:TAG (ウェアハウス: タグ)

2) コンテナ操作(ソフトウェアイメージ ---- 実行イメージ ---- コンテナの生成)

1. 画像を検索する
docker 検索 tomcat
2. イメージをプルします (:tag はオプションです。tag はラベルを意味し、ほとんどの場合ソフトウェアのバージョンで、デフォルトは最新です)
docker pull tomcat:最新
3. イメージに従ってコンテナを起動します(最新のタグは省略できますが、他のタグを追加する必要があります)
-d: バックグラウンドで実行
-p: ホストポートをコンテナ内のポートにマッピングします。ホストポート: コンテナ内のポート
docker run --name alias -d host port: コンテナ内のポート リポジトリ/イメージ ID
例えば: docker run --name mytomcat -d 8080:8080 tomcat:latest
3.1 コンテナの再起動
docker コンテナ名/ID を再起動します
4. 実行中のコンテナを表示する
ドッカーps
5. インストールされているすべてのコンテナを表示する
ドッカーps -a
6. 実行中のコンテナを停止する
docker stop コンテナ ID/名前
7. コンテナを起動する
docker コンテナ ID/名前の開始
8. コンテナを削除する
docker rm コンテナ ID/名前
9. コンテナログを表示する
docker は container-name/container-id (コンテナ名またはコンテナ ID) をログに記録します。
10. 指定されたコンテナスペースに入る
docker exec -it コンテナ名/ID /bin/bash
例えば: docker exec -it tensquare_es /bin/bash

7. セキュリティ上の問題から、オンライン環境でDockerリモートアクセスを有効にしないでください。そうしないと、ミートマシンとして扱われる可能性があります。

詳細については、「Docker がポート 2375 を公開しているためにサーバーが攻撃される問題を解決する方法」をお読みください。

SpringBoot のパッケージングと docker へのアップロードについて簡単に解説し、マルチインスタンス デプロイメントを実現する方法についての記事はこれで終わりです (IDEA 版)。Spring Boot のパッケージングと docker へのアップロードに関するその他の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • アイデアを通じてプロジェクトをDockerにパッケージ化する方法
  • イメージのパッケージ化とワンクリック展開を実現するためにDockerを組み合わせたアイデア
  • DockerをIDEAに統合してパッケージングを実現する方法

<<:  jsはショッピングカートの加算と減算、価格計算機能を実現します

>>:  ストアド プロシージャでエラー状態をトリガーする mysql ストアド プロシージャの分析例 (SIGNAL および RESIGNAL ステートメント)

推薦する

Ubuntu 16.04 で PostgreSQL の起動を設定する方法

PostgreSQL はコンパイルされインストールされるため、起動時に起動するように設定する必要があ...

サーバー上でjupyterノートブックを実行する問題を解決する

目次サーバーはjupyterノートブックを実行します仮想環境次にファイアウォールをオフにしますJup...

Pengyou.com モバイル クライアントのダウンロード ページのデザイン共有 (画像とテキスト)

まずは簡単なデータを見てみましょう。 Googleが発表したレポートによると、 ①中国の都市の97%...

Vueタイマーの実装方法

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

Google ブラウザのラベルと入力間のスペースに関する小さな問題

最初にコード、次にテキストコードをコピーコードは次のとおりです。 <!DOCTYPE html...

要素テーブルヘッダー行の高さの問題の解決

目次序文1. 問題の原因2. 解決策VueはelementUIテーブルtr thの高さと背景色を変更...

JavaScript はスローモーションアニメーションのカプセル化と使用法を説明します

プロセス分析の実装(1)繰り返して電話をかけるには?答え: 関数をカプセル化して一度だけ呼び出すコー...

Linux インストール MySQL5.6.24 使用手順

Linux インストール MySQL ノート1. MySQL データベース サーバーをインストールす...

JavaScript はフロントエンド Web ページでカウントダウンを実装します

ネイティブJavaScriptを使用してカウントダウンを簡単に実装します。参考までに、具体的な内容は...

CSS セレクターの重みの理解(個人テスト)

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

CentOS7 で yum を使用して PostgreSQL と PostGIS をインストールする方法

1. yumソースを更新するCentOS7 のデフォルトの yum リポジトリの PostgreSQ...

ブラウザをJavaScriptで対話させる方法

目次1. 最も単純な例2. 音声の速度とピッチをカスタマイズする3. 音量の調整方法4. よく使われ...

MySQL セキュリティ管理の詳細

目次1. 順番に紹介する2. ユーザーを作成する3. ユーザーアカウントを削除する4. アクセス権5...

Nodejs での WeChat アプレット メッセージ プッシュの実装

サブスクリプションメッセージテンプレートを選択または作成するWeChat アプレットにログインし、「...

phpmyadmin を使用して MySQL 権限を設定する方法

目次ステップ 1: root ユーザーとしてログインします。ステップ 2: 新しいデータ テーブルを...