Ejecutar ratings en Docker
Este módulo muestra cómo crear una imagen Docker y ejecutarla localmente.
Descarga el
Dockerfilepara el microservicioratings.$ curl -s https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/src/ratings/Dockerfile -o DockerfileObserva el
Dockerfile.$ cat DockerfileNota que copia los archivos en el sistema de archivos del contenedor y luego ejecuta el comando
npm installque ejecutaste en el módulo anterior. El comandoCMDinstruye a Docker para ejecutar el Serviceratingsen el puerto9080.Crea una variable de entorno para almacenar tu ID de usuario que se usará para etiquetar la imagen docker para el Service
ratings. Por ejemplo,user.$ export USER=userConstruye una imagen Docker desde el
Dockerfile:$ 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:latestEjecuta ratings en Docker. El siguiente comando docker run instruye a Docker para exponer el puerto
9080del contenedor al puerto9081de tu computadora, permitiéndote acceder al microservicioratingsen el puerto9081.$ docker run --name my-ratings --rm -d -p 9081:9080 $USER/ratingsAccede a http://localhost:9081/ratings/7 en tu navegador o usa el siguiente comando
curl:$ curl localhost:9081/ratings/7 {"id":7,"ratings":{"Reviewer1":5,"Reviewer2":4}}Observa el contenedor en ejecución. Ejecuta el comando docker ps para listar todos los contenedores en ejecución y nota el contenedor con la imagen
<your user name>/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 ...Detén el contenedor en ejecución:
$ docker stop my-ratings
Has aprendido cómo empaquetar un solo Service en un contenedor. El siguiente paso es aprender cómo desplegar toda la aplicación en un Cluster de Kubernetes.