Dockerでのratingsの実行

このモジュールでは、Docker イメージを作成してローカルで実行する方法を示します。

  1. ratings マイクロサービスの Dockerfile をダウンロードしてください。

    $ curl -s https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/src/ratings/Dockerfile -o Dockerfile
    
  2. Dockerfile を確認してください。

    $ cat Dockerfile
    

    このファイルはファイルをコンテナのファイルシステムにコピーし、前のモジュールで実行した npm install コマンドを実行します。CMD コマンドは、Docker に ratings サービスをポート 9080 で実行するように指示します。

  3. ratings サービスの Docker イメージにタグ付けするために使用するユーザーIDを格納する環境変数を作成します。例:user

    $ export USER=user
    
  4. 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
    
  5. Docker で ratings を実行します。以下の docker run コマンドは、コンテナのポート 9080 をコンピュータのポート 9081 に公開するように Docker に指示し、ポート 9081ratings マイクロサービスにアクセスできるようにします。

    $ docker run --name my-ratings  --rm -d -p 9081:9080 $USER/ratings
    
  6. ブラウザで http://localhost:9081/ratings/7 にアクセスするか、次の curl コマンドを使用してください。

    $ curl localhost:9081/ratings/7
    {"id":7,"ratings":{"Reviewer1":5,"Reviewer2":4}}
    
  7. 実行中のコンテナを確認します。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
    ...
    
  8. 実行中のコンテナを停止します。

    $ docker stop my-ratings
    

単一サービスをコンテナにパッケージする方法を学習しました。次のステップは、アプリケーション全体を Kubernetes クラスタにデプロイする方法を学習することです。

この情報は役に立ちましたか?
改善のための提案はありますか?

フィードバックありがとうございます!