Linux DockerでSpringbootプロジェクトを実行するための詳細な手順

Linux DockerでSpringbootプロジェクトを実行するための詳細な手順

導入:

springboot プロジェクトを実行する Docker の構成は実は非常にシンプルで、Linux 上で直接 springboot を実行するのとまったく同じです。始める

1: まず、Docker環境を実行する必要があります

ステップ 1: yum を使用してインストールする (CentOS 7 の場合)

Docker を使用するには、CentOS カーネル バージョンが 3.10 以降である必要があります。このページの前提条件をチェックして、お使いの CentOS バージョンが Docker をサポートしているかどうかを確認してください。

uname -rコマンドを使用して現在のカーネルバージョンを確認します。

[root@iZbp1gp1t778obaz5m8vk8Z ~]# uname -r
3.10.0-957.21.3.el7.x86_64

ステップ2: Dockerをインストールする

Docker パッケージとその依存関係は、デフォルトの CentOS-Extras ソフトウェア ソースにすでに含まれています。インストール コマンドは次のとおりです。

[root@iZbp1gp1t778obaz5m8vk8Z ~]# yum -y docker をインストールします

インストールが完了しました。

ステップ3: Dockerバックグラウンドサービスを開始する

[root@iZbp1gp1t778obaz5m8vk8Z ~]# サービス docker を開始

ステップ4: hello-worldをテストして実行する

[root@izwz99z5o9dc90keftqhlrz ~]# docker run hello-world
 
Dockerからこんにちは!
このメッセージは、インストールが正常に動作していることを示しています。
 
このメッセージを生成するために、Docker は次の手順を実行します。
 1. Docker クライアントが Docker デーモンに接続しました。
 2. Docker デーモンは Docker Hub から「hello-world」イメージを取得しました。
  (amd64)
 3. Dockerデーモンは、そのイメージから新しいコンテナを作成し、
  現在読んでいる出力を生成する実行可能ファイル。
 4. Dockerデーモンはその出力をDockerクライアントにストリーミングし、Dockerクライアントはそれを
  端末に。
 
もっと野心的なことに挑戦するには、次のコマンドで Ubuntu コンテナを実行できます。
 $ docker run -it ubuntu bash
 
無料の Docker ID を使用して、イメージを共有したり、ワークフローを自動化したりすることができます。
 参考:
 
その他の例やアイデアについては、以下をご覧ください。
 詳しくはこちら

ローカルに hello-world イメージがないので、hello-world イメージをダウンロードしてコンテナ内で実行します。それでは実際に使ってみましょう。

2: まずは独自のdocker springboot構成から始めましょう

ステップ 1: Docker を実行するための操作アカウントを作成します。新しく追加されました - 次のドキュメントの内容とは関係ありません [操作は通常、root では実行できません]

[root@iZbp1gp1t778obaz5m8vk8Z ~]# useradd -d /home/hn-docker -m hn-docker #操作アカウントを作成する [root@iZbp1gp1t778obaz5m8vk8Z ~]# 
[root@iZbp1gp1t778obaz5m8vk8Z ~]# passwd hn-docker #パスワードの変更 ユーザーhn-dockerのパスワードを変更しています。
新しいパスワード: 
パスワードが正しくありません: パスワードに何らかの形でユーザー名が含まれています
新しいパスワードを再入力してください: 
passwd: すべての認証トークンが正常に更新されました。
[root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo groupadd docker #docker ユーザー グループを追加します。すでに存在する場合は必要ありません。 [root@iZbp1gp1t778obaz5m8vk8Z ~]# sudo gpasswd -a hn-docker docker ##ログインしているユーザーを docker ユーザー グループに追加します ユーザー hn-docker をグループ docker に追加しています

ステップ2: Dockerの運用とメンテナンスを開始する

[root@izwz99z5o9dc90keftqhlrz Docker]# pwd
/ルート/Docker
[root@izwz99z5o9dc90keftqhlrz ドッカー]# 
[root@izwz99z5o9dc90keftqhlrz ドッカー]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# mkdir elasticsearch
[root@izwz99z5o9dc90keftqhlrz ドッカー]# 
[root@izwz99z5o9dc90keftqhlrz Docker]# cd elasticsearch/
[root@izwz99z5o9dc90keftqhlrz エラスティックサーチ]#

1. mvn installを実行してプロジェクトをjarパッケージにパッケージ化します。
2. jarパッケージを現在作成したフォルダにコピーし、Dockerfileファイルをフォルダにコピーします。

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# Dockerfile をタッチする 
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# vi Dockerfile 
 
# ベースイメージはJavaを使用しています
java:8より
# メンテナー shixiong <741096017@qq.com>
# VOLUME は一時ファイル ディレクトリを /tmp として指定します。
# 効果は、ホストの/var/lib/dockerディレクトリに一時ファイルを作成し、それをコンテナの/tmpにリンクすることです。
ボリューム /tmp
# jar パッケージをコンテナに追加し、名前を app.jar に変更します。相対パスまたは絶対パスを使用できます。ここで、相対パスは ADD springboot-es6.jar /springboot-es6.jar です。
# jar パッケージを実行します RUN bash -c 'touch /springboot-es6.jar'
#タイムゾーンを設定します。そうしないと、現在の時刻より 8 時間遅くなります。RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot-es6.jar"]

3: SpringbootプロジェクトをDockerにビルドし、Dockerイメージを生成する

3. フォルダーに入り、コマンドを実行します。バージョンの有無で実行した場合の結果は異なります。 ! !

springboot をビルドします。
上記の構成: ランタイムコマンドは次のとおりです。
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6:v1.0
 
springboot をビルドします。
上記の構成: ランタイムコマンドは次のとおりです。
[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6 

v1.0 で生成されたイメージでは、間違ったコマンドは次のようになります。

4: DockerでSpringbootプロジェクトを実行する

[root@izwz99z5o9dc90keftqhlrz elasticsearch]# docker run -d -p 8099:8099 springboot-es6
e7a56662f804ef72e7dcae3fa71e840c35e28e18aa1aff7e98b71d900b17c305
[root@izwz99z5o9dc90keftqhlrz エラスティックサーチ]#

5: インターフェースが使えるか確認する

インターフェースは完璧に使用されており、以下ではコンテナを管理してログを表示する方法について説明します。

Linux Docker で springboot プロジェクトを実行する方法についてはこれで終わりです。Docker で springboot プロジェクトを実行する方法については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Idea で Docker を使用して SpringBoot プロジェクトをデプロイする詳細な手順
  • Dockerを使用してSpringBootプロジェクトをデプロイする方法
  • Dockerfile を使用して SpringBoot プロジェクトをデプロイする方法
  • Springbootプロジェクトでwarパッケージdockerパッケージをビルドし、リソースの下に静的リソースが見つからない場合の解決策
  • SpringbootプロジェクトのDockerデプロイメント実践の詳細な説明

<<:  CSS を使用して複数の方法で下揃えを実装するサンプル コード

>>:  Mysql 主キー UUID と自動増分主キーの違いと利点と欠点

推薦する

MySQL トランザクション分離レベルの詳細

serializableシリアル化(問題なし)トランザクションは順次実行する必要があります。前のトラ...

Linux の文字端末でマウスを使って赤い四角形を移動する方法

すべてがファイルです! UNIX はすでにそれを言っています。エリック・レイモンドはこう言いました。...

MySql でメモリ使用量を削減する方法の詳細な説明

序文デフォルトでは、MySQL はデータベース クエリ データをキャッシュするために大きなメモリ ブ...

Linux 環境に nginx をインストールするチュートリアル

目次1. 必要な環境をインストールする //gccをインストールする yum で gcc-c++ を...

MySQL データベースで機密データの暗号化と復号化を実装する方法

目次1. 準備2. MySQL暗号化関数方式2.1 MySQL 暗号化2.2 MYSQL 復号化3....

素晴らしい CSS ナビゲーション バーの下線効果

中国初のカッター github.com/chokcocoまず、ここに画像があります。純粋な CSS ...

Linux サーバーのグラフィック カードのクラッシュの解決策

ログインインターフェースの解像度が特に大きい場合、グラフィカルインターフェース全体が特に大きくなり、...

MySQL 5.7 zip アーカイブ バージョンのインストール チュートリアル

この記事では、MySQL 5.7 zipアーカイブ版のインストールチュートリアルを参考までに紹介しま...

最新の MySQL 5.7.23 のインストールと設定のグラフィックチュートリアル

2018 年の最新 MySQL 5.7 の詳細なインストールと設定は 4 つのステップに分かれており...

HTML の基礎: HTML コンテンツの詳細

まずは本体から始めましょう:ウェブページを閲覧するとき、最初に目に留まるのは通常、ページの背景です。...

指定フィールドによるMySQLカスタムリストのソートの実装

問題の説明ご存知のとおり、MySQL でフィールドを昇順に並べ替える SQL は次のとおりです (i...

面接で聞かれる可能性のあるCSSに関する質問

この記事は、100 回書かれ、質問された CSS の質問を記念するためのものです。聞く: CSS セ...

JavaScript スネーク実装コード

この記事の例では、参考までに貪欲なスネークを実装するためのJavaScriptの具体的なコードを共有...

MySQL のマスタースレーブレプリケーションと読み取り書き込み分離の原理と使用法の詳細な説明

この記事では、例を使用して、MySQL マスター/スレーブ レプリケーションと読み取り/書き込み分離...