mirror of
https://github.com/batonogov/learn-devops.git
synced 2025-11-29 08:43:01 +00:00
Docker
Описание приложения
Простой веб сервис написанный на Go, возвращающий имя узла.
Сервис можно запустить несколькими способами.
Локальный запуск
Сборка приложения:
go build main.go
Запуск
./main
Вывод
Сервер запущен на порту 8080...
Запуск в контейнере
docker build -t test . && docker run test
Вывод
Сервер запущен на порту 8080...
Запуск при помощи docker compose
Запуск
docker compose --profile blue up --wait --remove-orphans --scale web-blue=5
Вывод
✔ Network docker_default Created 0.0s
✔ Container docker-nginx-proxy-1 Healthy 0.1s
✔ Container docker-web-blue-2 Healthy 0.1s
✔ Container docker-web-blue-4 Healthy 0.1s
✔ Container docker-web-blue-3 Healthy 0.0s
✔ Container docker-web-blue-5 Healthy 0.1s
✔ Container docker-web-blue-1 Healthy 0.1s
Сине-зеленое развертывание
Запуск
bash ./deploy.sh
Вывод
Список контейнеров
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-nginx-proxy-1 nginxproxy/nginx-proxy:1.5.2-alpine "/app/docker-entrypo…" nginx-proxy 2 minutes ago Up 2 minutes (healthy) 0.0.0.0:80->80/tcp
docker-web-blue-1 docker-web-blue "./main" web-blue 7 seconds ago Up 6 seconds (healthy) 8080/tcp
docker-web-blue-2 docker-web-blue "./main" web-blue 7 seconds ago Up 6 seconds (healthy) 8080/tcp
docker-web-blue-3 docker-web-blue "./main" web-blue 7 seconds ago Up 6 seconds (healthy) 8080/tcp
Журналы запуска web-blue
web-blue-1 | Сервер запущен на порту 8080...
web-blue-3 | Сервер запущен на порту 8080...
web-blue-2 | Сервер запущен на порту 8080...