Spring Bootは、Dockerでパッケージ化およびデプロイされています

1.依存関係を追加する

dockerfile-maven-pluginコンポーネントを導入する

<build> 
        <plugins> 
            <plugin> 
                <groupId> org.springframework.boot </ groupId> 
                <artifactId> spring-boot-maven-plugin </ artifactId> 
            </ plugin> 
            <plugin> 
                <groupId> com.spotify </ 
                groupId > <artifactId> dockerfile-maven-plugin </ artifactId> 
                <version> 1.4.13 </ version> 
                <executions> 
                    <execution> 
                        <id> デフォルト </ id> 
                        <goals> 
                            <goal>ビルド</ goal> ビルド</ goal> 
                            <goal>プッシュ</ goal>
                        </ goals>
                    </ execution> 
                </ executions> 
                <configuration> 
                    <repository> $ {docker.image.prefix} / $ {project.artifactId} </ repository> 
                    <tag> $ {project.version} </ tag> 
                    <buildArgs> 
                        < JAR_FILE> $ {project.build.finalName} .jar </ JAR_FILE> 
                    </ buildArgs> 
                </ configuration> 
            </ plugin> 
        </ plugins> 
</ build>

2. Dockerfileファイルを追加します

  Dockerfileとpom.xmlは同じレベルのディレクトリにあります

FROM java:8 
EXPOSE 8080 
ARG JAR_FILE 
ADD target / $ {JAR_FILE} /demo-0.0 .jar 
ENTRYPOINT [ "java"、 "-jar"、 "/ demo-0.0.jar"]

3.パック

> MVNのパッケージ - DskipTests 
[INFO]スキャンのためのプロジェクト... 
[INFO] 
[INFO] -------------------------- <com.example :demo> -------------------------- 
[INFO] Building demo 1.0 
[INFO] ------------ -------------------- [jar] --------------------------- ------ 
[INFO] 
[INFO] --- maven-resources-plugin:3.1.0:resources(default -resources)@ demo --- 
[INFO] 'UTF-8' エンコーディングを使用してフィルタリングされたリソースをコピーする。
[INFO] 1つのリソースをコピーしています
[INFO] 7つのリソースをコピーしています
[INFO] 
[INFO]--- maven-compiler-plugin:3.8.1:compile(default -compile)@ demo --- 
[INFO]変更が検出されました -モジュールを再コンパイルしています!
[INFO] 14個のソースファイルをE:\ java \ demo \ target \ classesにコンパイルします
[INFO] 
[INFO] --- maven-resources-plugin:3.1.0:testResources(default -testResources)@ demo --- 
[INFO ] 'UTF-8' エンコーディングを使用して、フィルタリングされたリソースをコピーします。
[INFO]存在しないresourceDirectoryをスキップE:\ java \ demo \ src \ test \ resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:testCompile(default -testCompile)@ demo --- 
[情報]変更が検出されました-モジュールを再コンパイルします!
[INFO] 1つのソースファイルをE:\ java \ demo \ target \ test- classesにコンパイルします
[INFO] 
[INFO] --- maven-surefire-plugin:2.22.2:test(デフォルト -test )@デモ--- 
[情報]テストはスキップされます。
[情報] 
[情報] --- maven-jar-plugin:3.1.2:jar(デフォルト -jar)@デモ--- 
[情報]ビルドjar:E:\ java \ demo \ target \ demo -1.0 .jar 
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.2.5.RELEASE:repackage(repackage)@ demo --- 
[INFO]メインアーティファクトを再パッケージ化されたアーカイブで置き換える
[INFO] 
[INFO] --- dockerfile-maven-plugin:1.4.13:build(デフォルト)@デモ--- 
[INFO] dockerfile:null 
[INFO] contextDirectory:E:\ java \ demo 
[INFO] Dockerコンテキストの構築E:\ java \ demo 
[INFO] Path(dockerfile):null 
[INFO] Path( contextDirectory):E:\ java \ demo 
[INFO] 
[INFO]イメージは、springdemo /demo:1.0 
[INFO] 
[INFO] として構築されます。ステップ 1/5:FROM java:8 
[INFO] 
[INFO]ライブラリからプルする/ java 
[情報]ダイジェスト:sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d 
[情報]ステータス: java:8の画像が最新です
[情報]   ---> d23bdf5b1b1b 
[情報]ステップ2/5:EXPOSE 8080 
[情報] 
[情報]   ---> キャッシュ
[情報]   を使用 ---> 8b6cab01e7f6 
[情報]ステップ 3/5 :ARG JAR_FILE 
[情報] 
[情報] ---> キャッシュ
[情報]   を使用]   ---> 7ba55f2e8bba 
[INFO]ステップ 4/5:target / $ {JAR_FILE} /demo-0.0 .jar 
[INFO] 
[INFO]   ---> 7263886dec7b 
[INFO]ステップ 5/5:ENTRYPOINT ["java "、" -jar "、" / demo-0.0.jar " ] 
[情報] 
[情報]   ---> 12b670b157c4で実行中
[情報]中間コンテナ12b670b157c4を削除しています
[情報]   --->  172f4efb3acd
[情報] 172f4efb3acdが正常に構築されました
[情報]正常にタグ付けされたspringdemo /demo:1.0 
[情報] 
[情報] ID 172f4efb3acdのイメージの構築が検出されました
[情報]ビルドjar:E:\ java \ demo \ target \デモ -1.0-docker- info.jar 
[INFO]正常にビルドspringdemoの /demo:1.0 
[INFO] --------------------------- --------------------------------------------- 
[INFO]ビルド成功
[情報] ----------------------------------------------- ------------------------- 
[情報]合計時間: 01 : 18 
[情報]終了: 2020-04-16T09:04:50 +08:00 
[情報]-------------------------------------------------- ----------------------

説明:

  コマンドが実行された後、画像ファイルはサーバー上にあります

  java:8はミラー依存のレイヤーであり、存在しない場合、mvn dockerfile:ビルドコマンドが実行されるとプルダウンされます

4.デプロイ

Dockerサーバーにログインします。

sudo dockerイメージ

 

実行中

docker run --name springdemo -p 8080:8080 -d springdemo / demo:1.0

注:

  バージョン番号は最後ではなく、バージョン番号を指定する必要があります 

テスト中

GET http://192.168.99.100:8080/hello

戻る

  "こんにちは世界"

 

おすすめ

転載: www.cnblogs.com/baby123/p/12707154.html