Skip to content

otus-devops-2019-02/akozhin_microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Otus DevOps microservices repo

https://hub.docker.com/u/akozhin

Docker - 1

Выполнено

  • docker run
  • docker inspect
  • docker exec
  • docker kill

Docker 3

Цели

  • Научиться описывать и собирать Docker-образы для сервисного приложения
  • Научиться оптимизировать работу с Docker-образами
  • Запуск и работа приложения на основе Docker-образов, оценка удобства запуска контейнеров при помощи docker run

docker network create reddit docker run -d --network=reddit --network-alias=post_db --network-alias=comment_db mongo:latest docker run -d --network=reddit --network-alias=post akozhin/post:1.0 docker run -d --network=reddit --network-alias=comment akozhin/comment:1.0 docker run -d --network=reddit -p 9292:9292 akozhin/ui:1.0

Docker 4

Сеть в docker

Рассмотрены сетевые драйверы bridge host none

Созданы сети для приложений фрона и бекэнда (ui только во фронте, сервисы во фронте и бэкенде, БД только в бэкенде):

docker network create back_net  --subnet=10.0.2.0/24
docker network create front_net --subnet=10.0.1.0/24

Созданы контейнеры в разных сетях

docker run -d --network=back_net --network-alias=post_db --network-alias=comment_db  --name mongo_db mongo:latest
docker run -d --network=back_net --network-alias=post --name post mnsoldotus/post:1.0
docker run -d --network=back_net --network-alias=comment --name comment mnsoldotus/comment:1.0
docker run -d --network=front_net -p 9292:9292 --name ui mnsoldotus/ui:1.0

Выполнено онлайн подключение контейнеров к сети

docker network connect front_net post 
docker network connect front_net comment 

Рассмотрены сетевые интерфейсы со стороны хостовой машины

docker network ls
brctl show <interface>

Рассмотрены правила iptables

Docker-compose

Создан docker-compose.yml для проекта из 3 приложений

Выполнен запуск через docker-compose up

Просмотр списка контейнеров docker-compose ps

Выполнена параметризация docker-compose.yml черех переменные окружения и .env файл

Наименованием проекта по умолчанию является basename директории в которой находится docker-compose.yml Задать имя можно:

  • Переменной COMPOSE_PROJECT_NAME в файле .env. Пример COMPOSE_PROJECT_NAME=docker4
  • Опцией docker-compose -p, --project-name NAME. Пример docker-compose -p docker4 up -d

https://docs.docker.com/compose/reference/envvars/

Monitoring 2

Разделил приложения и мониторог на 2 compose файла Добавил мониторинг контейнеров с помощью cadvisor (тоже в контейнере) Добавил визуализацию метрик с использованием grafana - настроил собственные панели и импортировал панель для docker c официального сайта Добавил алертинг через alertmanager интегрированный со slack

About

akozhin microservices repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published