Add docker (#6)

* Add docker

* Update example

---------

Co-authored-by: Fedor Batonogov <f.batonogov@yandex.ru>
This commit is contained in:
github-actions[bot]
2024-04-27 15:53:50 +03:00
committed by GitHub
parent fab1ba15f3
commit 99088532f2
10 changed files with 324 additions and 4 deletions

82
docker/README.md Normal file
View File

@@ -0,0 +1,82 @@
# Docker
## Описание приложения
Простой веб сервис написанный на **Go**, возвращающий имя узла.
Сервис можно запустить несколькими способами.
### Локальный запуск
Сборка приложения:
```sh
go build main.go
```
Запуск
```sh
./main
```
Вывод
```output
Сервер запущен на порту 8080...
```
### Запуск в контейнере
```sh
docker build -t test . && docker run test
```
Вывод
```output
Сервер запущен на порту 8080...
```
### Запуск при помощи docker compose
Запуск
```sh
docker compose --profile blue up --wait --remove-orphans --scale web-blue=5
```
Вывод
```output
✔ 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
```
### Сине-зеленое развертывание
Запуск
```sh
bash ./deploy.sh
```
Вывод
```output
Список контейнеров
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-nginx-proxy-1 nginxproxy/nginx-proxy:1.5.1-alpine "/app/docker-entrypo…" nginx-proxy 12 seconds ago Up 5 seconds (healthy) 0.0.0.0:80->80/tcp
docker-web-blue-1 docker-web-blue "./main" web-blue 12 seconds ago Up 11 seconds (healthy) 8080/tcp
docker-web-blue-2 docker-web-blue "./main" web-blue 12 seconds ago Up 11 seconds (healthy) 8080/tcp
docker-web-blue-3 docker-web-blue "./main" web-blue 12 seconds ago Up 11 seconds (healthy) 8080/tcp
Журналы запуска web-blue
web-blue-2 | Сервер запущен на порту 8080...
web-blue-1 | Сервер запущен на порту 8080...
web-blue-3 | Сервер запущен на порту 8080...
```