Dockerでのratingsの実行
このモジュールでは、Docker イメージを作成してローカルで実行する方法を示します。
ratings
マイクロサービスのDockerfile
をダウンロードしてください。$ curl -s https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/src/ratings/Dockerfile -o Dockerfile
Dockerfile
を確認してください。$ cat Dockerfile
このファイルはファイルをコンテナのファイルシステムにコピーし、前のモジュールで実行した
npm install
コマンドを実行します。CMD
コマンドは、Docker にratings
サービスをポート9080
で実行するように指示します。ratings
サービスの Docker イメージにタグ付けするために使用するユーザーIDを格納する環境変数を作成します。例:user
。$ export USER=user
Dockerfile
から Docker イメージをビルドします。$ docker build -t $USER/ratings . ... Step 9/9 : CMD node /opt/microservices/ratings.js 9080 ---> Using cache ---> 77c6a304476c Successfully built 77c6a304476c Successfully tagged user/ratings:latest
Docker で ratings を実行します。以下の docker run コマンドは、コンテナのポート
9080
をコンピュータのポート9081
に公開するように Docker に指示し、ポート9081
でratings
マイクロサービスにアクセスできるようにします。$ docker run --name my-ratings --rm -d -p 9081:9080 $USER/ratings
ブラウザで http://localhost:9081/ratings/7 にアクセスするか、次の
curl
コマンドを使用してください。$ curl localhost:9081/ratings/7 {"id":7,"ratings":{"Reviewer1":5,"Reviewer2":4}}
実行中のコンテナを確認します。docker ps コマンドを実行して実行中のすべてのコンテナを一覧表示し、イメージ
<あなたのユーザー名>/ratings
のコンテナを確認してください。$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 47e8c1fe6eca user/ratings "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:9081->9080/tcp elated_stonebraker ...
実行中のコンテナを停止します。
$ docker stop my-ratings
単一サービスをコンテナにパッケージする方法を学習しました。次のステップは、アプリケーション全体を Kubernetes クラスタにデプロイする方法を学習することです。