Docker を使用して Spring Boot アプリケーションをコンテナ化し、継続的統合と継続的デプロイを実現します。
Docker は、アプリケーションとその依存リソースを統合できるオープンソースのコンテナ化プラットフォームです。別のコンテナーを作成し、イメージをデプロイして実行します。最新のアプリケーションを構築および展開するための、軽量、高速、ポータブルなソリューションを提供します。
Spring Boot は、Java アプリケーションを構築するためのシンプルかつスケーラブルな方法を提供する迅速な開発フレームワークです。 Docker と Spring Boot を組み合わせることで、アプリケーションの迅速なデプロイ、スケーリング、管理という目標を達成できます。
この記事では、Docker を使用して Spring Boot アプリケーションをコンテナ化し、継続的インテグレーションと継続的デプロイのプロセスを実装する方法を紹介し、対応するコード例を示します。
ここでは、以下に示すような単純な Hello World アプリケーションを作成します。
@Controller public class HelloWorldController { @GetMapping("/") public String hello(Model model) { model.addAttribute("message", "Hello, Docker!"); return "hello"; } public static void main(String[] args) { SpringApplication.run(HelloWorldController.class, args); } }
このコードは、ルート パスにアクセスすると、「Hello, Docker」を返す基本的な Spring MVC コントローラーを作成します。 !" メッセージ。
プロジェクトのルート ディレクトリに Dockerfile という名前のファイルを作成し、次の内容を追加します。
# 使用一个基础的Java 8镜像 FROM openjdk:8-jdk-alpine # 将应用的jar包添加到容器中 COPY target/demo-0.0.1-SNAPSHOT.jar /app.jar # 暴露8080端口 EXPOSE 8080 # 运行jar包 ENTRYPOINT ["java","-jar","/app.jar"]
上記の Dockerfile は、Alpine Linux に基づく Java 8 イメージをベース イメージとして使用します。 。次に、構築された jar パッケージをコンテナーにコピーし、ENTRYPOINT 命令を通じてアプリケーションを実行します。
イメージをビルドするコマンドは次のとおりです:
$ docker build -t spring-boot-demo .
イメージがビルドされた後、次のコマンドを使用してビルドが成功したかどうかを確認できます:
$ docker images
名前が表示されるはずです。 spring-boot-demo のミラーです。
次のコマンドを実行してコンテナを開始します:
$ docker run -d -p 8080:8080 spring-boot-demo
このうち -d パラメータはコンテナをバックグラウンドで実行することを意味し、-p パラメータは 8080 ポートをマッピングすることを意味しますホストのポートをコンテナの 8080 ポートに接続します。
コンテナーが正常に起動したかどうかを確認するには、次のコマンドを使用してコンテナーの実行ステータスを確認できます。
$ docker ps
spring-boot-demo という名前のコンテナーがrunning は、コンテナが正常に起動されたことを意味します。
まず、アプリケーション コードをローカルで更新し、イメージを再構築します:
$ docker build -t spring-boot-demo .
次に、古いコンテナを停止して削除します:
$ docker stop [CONTAINER_ID] $ docker rm [CONTAINER_ID]
その後、新しいコンテナを実行します。コンテナをもう一度:
$ docker run -d -p 8080:8080 spring-boot-demo
次は、Jenkins を使用した簡単な例です。
pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean package -DskipTests' } } stage('Build Docker Image') { steps { sh 'docker build -t spring-boot-demo .' } } stage('Deploy') { steps { sh 'docker stop spring-boot-demo' sh 'docker rm spring-boot-demo' sh 'docker run -d -p 8080:8080 --name spring-boot-demo spring-boot-demo' } } } }
このスクリプトは、アプリケーションのビルド プロセスと更新のデプロイ プロセスを指定します。実際のニーズに応じて変更します。
上記の手順により、Docker を使用して Spring Boot アプリケーションをコンテナ化し、継続的インテグレーションと継続的デプロイのプロセスを実現できます。このようにして、アプリケーションの開発、展開、管理を大幅に簡素化し、開発効率と展開の柔軟性を向上させることができます。
この記事が、Docker コンテナー化された Spring Boot アプリケーションの継続的インテグレーションと継続的デプロイメントを理解して実践するための参考になれば幸いです。練習の成功を祈っています!
以上がDocker を使用して Spring Boot アプリケーションをコンテナ化し、継続的統合と継続的デプロイメントを実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。