Запуск ratings у Docker
Цей модуль демонструє, як створити образ Docker та запустити його локально.
Завантажте
Dockerfileдля мікросервісуratings.$ curl -s https://raw.githubusercontent.com/istio/istio/release-1.28/samples/bookinfo/src/ratings/Dockerfile -o DockerfileОзнайомтесь з
Dockerfile.$ cat DockerfileЗверніть увагу, що він копіює файли у файлову систему контейнера, а потім виконує команду
npm install, яку ви виконували в попередньому модулі. КомандаCMDінструктує Docker запустити сервісratingsна порту9080.Створіть змінну середовища для збереження вашого ідентифікатора користувача, який буде використовуватися для теґування образу Docker для сервісу
ratings. Наприклад,user.$ export USER=userЗберіть Docker образ з
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:latestЗапустіть
ratingsу Docker. Наступна команда docker run інструктує Docker відкрити порт9080контейнера для порту9081вашого компʼютера, що дозволяє вам отримати доступ до мікросервісуratingsна порту9081.$ 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, щоб показати всі працюючі контейнери та зверніть увагу на контейнер з образом
<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 ...Зупиніть працюючий контейнер:
$ docker stop my-ratings
Ви навчилися упаковувати один сервіс у контейнер. Наступний крок — дізнатися, як розгортати весь застосунок у кластер Kubernetes.