在 Docker 中运行 ratings 服务

这项工作正在进行中,我们将逐段添加其内容。欢迎您在 discuss.istio.io 网站上提供反馈。

本模块展示了如何创建一个 Docker 镜像并在本地运行它。

  1. $ curl -s https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/src/ratings/Dockerfile -o Dockerfile
  • 观察这个Dockerfile
  1. $ cat Dockerfile

请注意,它将文件复制到容器的文件系统中,然后执行你在上一个模块中执行过的 npm install 命令。CMD 命令指示 Docker 在 9080 端口上运行 ratings 服务。

  • 根据 Dockerfile 构建出一个镜像:
  1. $ docker build -t $USER/ratings .
  2. ...
  3. Step 9/9 : CMD node /opt/microservices/ratings.js 9080
  4. ---> Using cache
  5. ---> 77c6a304476c
  6. Successfully built 77c6a304476c
  7. Successfully tagged user/ratings:latest
  • 在 Docker 中运行 ratings 服务. 接下来的 docker run 命令指示 Docker 将容器的 9080 端口暴露到计算机的 9081 端口,从而允许你访问 9081 端口上的 ratings 微服务。
  1. $ docker run -d -p 9081:9080 $USER/ratings
  1. $ curl localhost:9081/ratings/7
  2. {"id":7,"ratings":{"Reviewer1":5,"Reviewer2":4}}
  • 观察运行中的容器。执行 docker ps 命令,列出所有运行中的容器,同时注意镜像是 <your user name>/ratings 的容器。
  1. $ docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 47e8c1fe6eca user/ratings "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:9081->9080/tcp elated_stonebraker
  4. ...
  • 停止运行中的容器:
  1. $ docker stop <the container ID from the output of docker ps>

现在,你已经准备好部署应用程序