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 ステートメント)

推薦する

js データ型とその判定方法の例

js データ型基本データ型: 数値、文字列、ブール値、未定義、null、シンボル、参照データ型: オ...

Dockerコンテナを作成、起動、停止する方法

1. コンテナとは、独立して実行されるアプリケーション、またはアプリケーションのグループとその動作環...

Centos7 Zabbix3.4 メールアラーム設定(メール内容がxx.bin添付ファイルになる問題の解決)

目次1. 監視Linuxホストを追加する2. メールボックスを設定する1. 監視Linuxホストを追...

プロフェッショナルなMySQL開発設計仕様とSQL記述仕様

チーム開発のプロセスでは、プロジェクトの安定性、コードの効率性、管理の利便性のために、内部開発および...

アコーディオンセカンダリメニューを実装するためのjQueryプラグイン

この記事では、jQueryプラグインを使用してアコーディオンセカンダリメニューを作成します。具体的な...

Linux DHCPサービスの詳細な説明

目次1. DHCP サービス (動的ホスト構成プロトコル) 1. 背景2. 概要3. 利点4.DHC...

HTML で相対パスを使用してディレクトリのすべてのレベルのファイルを取得する方法の詳細な説明

相対パスの概念現在のファイルの場所を参照ポイントとして使用して、ターゲット ファイルへのパスを確立し...

Dockerfileを使用してDockerイメージを構築する

目次Dockerfileを使用してDockerイメージを構築する1. Dockerfile とは何で...

擬似分散グラフィックを実現するための VMware 構成 Hadoop チュートリアル

1. 実験環境シリアルナンバープロジェクトソフトウェアとバージョン1オペレーティング·システムCen...

MySQLの重複排除方法

MySQLの重複排除方法【初級】繰り返しのセリフが少ないdistinctive を使用してそれらを見...

Unicode 署名 BOM の詳細な説明

Unicode 署名 BOM - BOM とは何ですか? BOM は Byte Order Mark...

URLに基​​づいてリクエストを転送するnginxの実装の実践経験

序文これは fastdfs を使用してイントラネット外部に展開された分散ファイルシステムであるためで...

Centos での TCPWrappers アクセス制御の実装

1. TCP ラッパーの概要TCP Wrappers は TCP サービス プログラムを「ラップ」し...

Linux カーネルの copy_{to, from}_user() に関する考察

目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...

HTML と CSS に関する基本的なメモ (フロントエンドでは必読)

HTMLに触れた当初はレイアウトにいつもテーブルを使っていましたが、とても面倒で見た目も悪かったの...