1. 基本的な Spring-boot クイックスタート 1.1 クイックスタート pom.xml は以下の依存関係を追加します <親> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <バージョン>2.0.5.RELEASE</バージョン> </親> <プロパティ> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </プロパティ> <依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>テスト</scope> </依存関係> </依存関係> <ビルド> <finalName>スプリングドッカー</finalName> <プラグイン> <プラグイン> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </プラグイン> </プラグイン> </ビルド> Spring-boot スタートアップクラス @SpringBootアプリケーション パブリッククラスDockerApplication { パブリック静的voidメイン(String[] args) { SpringApplication.run(DockerApplication.class、引数); } } APIのテスト @レストコントローラ パブリッククラスDockerStarterApi { @GetMapping("/api/docker/hello") パブリック文字列hello() { 「hello docker」を返します。 } } 起動設定ファイル サーバ: port: 9090 # 効果を示すために、デフォルトのポート8080をここで変更します Spring Bootをチェック . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|================|___/=/_/_/_/ :: Spring Boot :: (v2.0.2.リリース) ... 2018-12-17 17:26:13.385 INFO 48740 --- [ main] osjeaAnnotationMBeanExporter: 起動時に JMX 公開用の Bean を登録しています 2018-12-17 17:26:13.448 INFO 48740 --- [ main] osbwembedded.tomcat.TomcatWebServer : Tomcat がポート 9090 (http) でコンテキスト パス '' で起動しました 2018-12-17 17:26:13.453 INFO 48740 --- [ main] pers.study.docker.DockerApplication: DockerApplication を 1.982 秒で開始しました (JVM は 2.602 秒実行中) APIが有効かどうかを確認する $ curl -XGET 'http://localhost:9090/api/docker/hello' こんにちはドッカー ブラウザチェック
1.2 パッケージングと起動 プロジェクトパッケージ 上記の手順を完了したら、パッケージ化コマンドを実行します。 $ mvn clean -U -Dmaven.test.skip パッケージをコンパイル 上記の pom ファイルで <finalName>スプリングドッカー</finalName> 試運転 $ java -jar ターゲット/spring-docker.jar 何も問題がなければ(質問があればメッセージを残してください〜)、実行結果は上記と同じになり、APIが有効かどうかを確認します。 2. Dockerのクイックインストール 次にDockerを準備します インストール 公式サイトからダウンロードしてインストールする インストールの確認、ヘルプの表示 $ docker --version Docker バージョン 18.06.0-ce、ビルド 0ffa825 $ docker --help 使用方法: docker [オプション] コマンド コンテナ用の自己完結型ランタイム ... ミラー加速 中国公式ミラー加速 3. Spring-boot + Dockerを構成する pom.xmlにdockerプラグインを追加する <プロパティ> <docker.image.prefix>スプリングブート</docker.image.prefix> </プロパティ> <ビルド> <プラグイン> <!-- Docker Maven プラグイン --> <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.0.0</バージョン> <構成> <イメージ名>${docker.image.prefix}/${project.build.finalName}</イメージ名> <dockerディレクトリ>src/main/docker</dockerディレクトリ> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> </構成> </プラグイン> </プラグイン> </ビルド> 上記の ディレクトリ構造は次のとおりです。 Docker 構成ファイルの構造.png openjdk:8-jdk-alpine から ボリューム /tmp spring-docker.jar app.jar を追加します。 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] FROMは、イメージがJava 8に基づいていることを示します。 VOLUMEはマウントディレクトリを示します ADDはパッケージ化されたファイルをコピーし、 以下の公式ドキュメントによると、ENTRYPOINT は Tomcat の起動時間を短縮するために追加されたシステム プロパティです。
4. DockerがSpring-bootを起動する
$ mvn パッケージ docker:build [INFO] プロジェクトをスキャンしています... ... ---> e1f8aba72bdf で実行中 中間コンテナ e1f8aba72bdf を削除しています ---> 36a61c09f09a 進捗メッセージ{id=null、ステータス=null、ストリーム=null、エラー=null、進捗=null、進捗詳細=null} 36a61c09f09a の構築に成功しました springboot/spring-docker:latest のタグ付けに成功しました [INFO] springboot/spring-docker をビルドしました [情報] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [情報] ビルド成功 [情報] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [情報] 合計時間: 6.367 秒 [情報] 終了日時: 2018-12-17T20:48:21+08:00 [情報] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ミラーを見る $ docker イメージ リポジトリ タグ イメージ ID 作成 サイズ springboot/spring-docker 最新 36a61c09f09a 2 分前 123MB 画像を実行する $ docker run -p 9090:9090 -t springboot/spring-docker . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|================|___/=/_/_/_/ :: Spring Boot :: (v2.0.2.リリース) 2018-12-17 12:53:21.502 INFO 1 --- [ main] pers.study.docker.DockerApplication : PID 1 の 94991c04be5d で DockerApplication v1.0-SNAPSHOT を開始しています (/app.jar は / で root によって開始されました) 2018-12-17 12:53:21.509 INFO 1 --- [ main] pers.study.docker.DockerApplication: アクティブなプロファイルが設定されていません。デフォルトのプロファイルにフォールバックします: default ··· 2018-12-17 12:53:25.255 INFO 1 --- [ main] osjeaAnnotationMBeanExporter : 起動時に JMX 公開用の Bean を登録しています 2018-12-17 12:53:25.337 INFO 1 --- [ main] osbwembedded.tomcat.TomcatWebServer : Tomcat がポート 9090 (http) でコンテキスト パス '' で起動しました 2018-12-17 12:53:25.353 INFO 1 --- [ main] pers.study.docker.DockerApplication: DockerApplication を 4.485 秒で起動しました (JVM は 5.346 秒実行中) コンテナを表示 $ docker ps コンテナID イメージ コマンド 作成ステータス ポート名 94991c04be5d springboot/spring-docker "java -Djava.securit…" 53 秒前 52 秒前 0.0.0.0:9090->9090/tcp quizzical_bhabha 起動の確認とAPIへのアクセス $ curl -XGET 'http://localhost:9090/api/docker/hello' こんにちはドッカー この時点で、spring-boot の Docker デプロイは完了です。 5. 画像を削除する コンテナを停止する $ docker stop 94991c04be5d 94991c04be5d コンテナの削除 $ docker rm 94991c04be5d 94991c04be5d 画像の削除 $ docker イメージ rm springboot/spring-docker タグなし: springboot/spring-docker:latest 削除済み: sha256:36a61c09f09ab88cfe5a05f564deb57498682f4a6f3ec01d2a8c4fdc80ac1e41 削除済み: sha256:3f9aef70be6d4d43c205454d8874f10bc2f7280f70eb88cd1f04937b7965dd27 削除済み: sha256:9a5800e93615bb4c5128bb36d31ec494327c01f1a9a768c1ff538badf76628b9 削除済み: sha256:d9c66f907448fa9e61fd5f9267d7fcf8e1f4b52d0a20466414f2f45777261284 6. その他の設定機能 環境プロパティの追加 $ docker run -e "SPRING_PROFILES_ACTIVE=prod" -p 9090:9090 -t springboot/spring-docker バックグラウンドで実行を開始する $ docker run -p 9090:9090 -d springboot/spring-docker コンテナのデバッグを有効にし、 openjdk:8-jdk-alpine から ボリューム /tmp spring-docker.jar app.jar を追加します。 環境変数JAVA_OPTS'' CMD java -Djava.security.egd=file:/dev/./urandom $JAVA_OPTS -jar app.jar ドッカー実行 次のようにコードをコピーします。 $ docker run -e "JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n" -p 9090:9090 -p 5005:5005 -t springboot/spring-docker 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
monaco-editor-vueの公式ソースコードは次のとおりです。インデックス 'mon...
1. 実験環境シリアルナンバープロジェクトソフトウェアとバージョン1オペレーティング·システムCen...
目次docker システム df docker システム プルーンdocker systemc 情報...
目次日時タイムスタンプ選び方ミリ秒の時間を保存する方法結論MySQL は、日付と時刻を処理するために...
MySQL 8.0.25の最新のダウンロードとインストールのチュートリアルは参考になります。具体的な...
この記事の例では、ボールのスライドとクロスの効果を実現するためのVueの具体的なコードを共有していま...
mysql 5.7.21 winx64 のインストールと設定方法: MySQLのコミュニティバージョ...
目次1. 背景2. 前提条件https:証明書システム: 3. 操作プロセス3.1 証明書の生成3....
AND キーワードを使用した MySQL 複数条件クエリ。MySQL では、AND キーワードを使用...
Cerebro は、Elasticsearch バージョン 5.x より前の Elasticsear...
問題の説明フロントエンドリモート検索やファジークエリと呼ばれる種類のクエリがあります。 Ele.me...
この記事では、アコーディオン効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な...
1. インストールパッケージを保存する場所に移動しますcd /home/lnmp 2. MySQL ...
この記事の例では、ショッピングカートの計算を実装するためのjsの具体的なコードを参考までに共有してい...
目次コンポーネント - タイムラインカスタムノードスタイルカスタムタイムスタンプコンポーネント - ...