Docker と Spring Boot を使用してコンテナ化されたアプリケーションを開発およびデプロイするためのベスト プラクティス
はじめに:
クラウド コンピューティング テクノロジの普及と発展に伴い、コンテナ化アプリケーションの開発とデプロイが行われています。導入の重要性はますます高まっています。一般的なコンテナ化テクノロジとして、Docker はアプリケーションに分離された実行環境を提供し、開発およびデプロイメントのプロセスを大幅に簡素化します。 Java 開発を簡素化するフレームワークとして、Spring Boot は独立した実行可能な Spring アプリケーションを迅速に構築できます。この記事では、Docker と Spring Boot を組み合わせて、コンテナー化されたアプリケーションを開発およびデプロイする方法を紹介します。
1. Docker の概要
Docker は、オペレーティング システム レベルの仮想化テクノロジを使用してアプリケーションとその依存ライブラリをコンテナにパッケージ化し、それによってさまざまな環境でのアプリケーションの移植性と信頼性を実現する軽量のコンテナ化プラットフォームです。以下は、Docker の基本概念の一部です:
2. Spring Boot と Docker の統合
Spring Boot は、開発と Docker の統合を容易にするいくつかの機能を提供します。以下では、Spring Boot と Docker を統合するために一般的に使用されるベスト プラクティスをいくつか紹介します。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
mvn clean package
コマンドを実行して、実行可能な JAR ファイルを生成します。
FROM openjdk:8-jdk-alpine COPY target/myapp.jar myapp.jar EXPOSE 8080 CMD ["java", "-jar", "myapp.jar"]
このうち、FROM
はベースイメージを openjdk:8-jdk-alpine として指定しており、COPY
が実行可能になります。 JAR ファイルをイメージにコピーし、EXPOSE
でコンテナのポートを公開し、CMD
でコンテナの起動時に実行するコマンドを指定します。
docker build -t myapp:1.0 .
その中に、- t
はイメージを指定します。名前とバージョン番号 .
は、Dockerfile が配置されているディレクトリを示します。
docker run -d -p 8080:8080 myapp:1.0
このうち、-d
はコンテナの実行を意味します。バックグラウンドで、- p
ホストとコンテナ間のポート マッピングを指定します。
3. アプリケーションの例
以下では、Docker を使用してコンテナ化されたアプリケーションを開発およびデプロイする方法を示すために、単純な Spring Boot アプリケーションを例として取り上げます。
spring init -n=myapp -g=com.example -a=myapp -d=web
FROM openjdk:8-jdk-alpine COPY target/myapp.jar myapp.jar EXPOSE 8080 CMD ["java", "-jar", "myapp.jar"]
docker build -t myapp:1.0 .
docker run -d -p 8080:8080 myapp:1.0
以上がDocker と Spring Boot を使用してコンテナ化されたアプリケーションを開発およびデプロイするためのベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。