クラウド コンピューティングとコンテナー テクノロジーの発展、およびマイクロサービス アーキテクチャの人気により、多くの企業が Docker などのコンテナー化テクノロジーを使用してマイクロサービスを展開し始めています。人気のマイクロサービス フレームワークとして、Spring Cloud も徐々にコンテナ化に向けて移行しています。この記事では、Spring Cloud のマイクロサービスのコンテナ化の実践について紹介します。
1. Spring Boot マイクロサービスを Docker 化する
まず、Spring Boot マイクロサービスを Docker 化する必要があります。まず、Dockerfile を作成する必要があります。以下は簡単な Dockerfile の例です。
FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
この Dockerfile では、OpenJDK 8 に基づいて Docker イメージを作成し、VOLUME ディレクトリを定義し、ARG ディレクティブを使用して JAR パッケージへのパスを指定します。最後に、JAR パッケージをコンテナーにコピーし、ENTRYPOINT コマンドを指定して Spring Boot マイクロサービスを開始します。
次に、次のコマンドを使用して Docker イメージをビルドします (Spring Boot アプリケーションの名前がサンプルマイクロサービスであると仮定します):
docker build -t sample-microservice:1.0 .
次に、次のコマンドを使用して Docker コンテナーを実行できます。 #
docker run -p 8080:8080 sample-microservice:1.0これにより、ローカルホストのポート 8080 で Spring Boot マイクロサービスが開始されます。 2. Docker Compose を使用して Spring Cloud マイクロサービスをデプロイするDocker Compose は、複数の Docker コンテナーを簡単に定義してデプロイできる非常に優れたツールです。次に、Docker Compose を使用して Spring Cloud マイクロサービスをデプロイします。 まず、docker-compose.yml ファイルを作成する必要があります。このファイルでは、Docker イメージ、ポート、各マイクロサービスの依存関係を定義する必要があります。以下は、単純な docker-compose.yml ファイルの例です。
version: '3' services: eureka-server: image: springcloud/eureka-server ports: - "8761:8761" sample-microservice: image: sample-microservice:1.0 ports: - "8080:8080" depends_on: - eureka-server environment: - EUREKA_SERVER=http://eureka-server:8761/eureka/この docker-compose.yml ファイルでは、Eureka Server と Sample Microservice という 2 つのサービスを定義します。 Eureka Server は Spring Cloud マイクロサービス登録センターであり、Spring Cloud 公式 Web サイトから提供されるイメージ springcloud/eureka-server を使用します。サンプル マイクロサービスは、ポート 8080 を備えた以前の Dockerized Spring Boot マイクロサービスです。また、Eureka Server のアドレスを指す EUREKA_SERVER 環境変数も定義しました。 次に、次のコマンドを使用して Docker Compose を起動します。
docker-compose upこれにより、Eureka Server と Sample Microservice が自動的に起動して接続されます。次のコマンドを使用して、Docker Compose を停止および削除できます。
docker-compose down要約上記の手順により、Docker と Docker Compose を使用して Spring Cloud マイクロサービスを簡単にデプロイできます。コンテナ化により、マイクロサービスの管理とデプロイが容易になり、さまざまな環境で簡単に実行できるようになります。さらに、Docker Compose を使用すると、異なるコンテナー間にリンクと依存関係を作成できます。この記事が Spring Cloud マイクロサービスのコンテナ化の理解と実践に役立つことを願っています。
以上がSpring Cloud マイクロサービスのコンテナ化の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。