Воскресенье, 28.04.2024, 10:47

Компьютерная помощь

Записки системного администратора

Меню сайта
Категории раздела
Компьютер [36]
Общекомпьютерные темы
Windows server [18]
Статьи по версиям windows для серверов.
Windows [30]
Статьи по версиям windows для рабочих станций.
Unix [65]
Статьи на тему unix-подобных систем. Linux, FreeBSD и т.п.
Видеомонтаж [10]
Статьи по нелинейному видеомонтажу
Программирование [9]
Заметки по программированию
Databases [10]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Вход на сайт

Поиск

Главная » Статьи » Unix

Docker. Практика с нуля. Часть 2. Кластеризация Swarm.

Продолжение.Первая часть: Docker. Практика с нуля.

Docker Swarm
Создаем машину-менеджер для роя (кластера):
docker swarm init --advertise-addr 192.168.56.104
На другой машине с установленным Docker запускаем команду для присоединения к созданному кластеру:
docker swarm join --token SWMTKN-1-1s3cqewjavdshw8vilvx03isar5mz47uvrqd1mwdi3y6jjg1ep-2kkxm41217rqhdb4emu82eeuh 192.168.56.104:2377 (соединение между нодами по порту 2377)
docker info -информация о docker на хосте
docker node ls -информация о запущенных нодах кластера Swarm. Запускать нужно на менеджере.

Запуск сервиса на 2 нодах (мастер-нода и нода) с именем helloworld с образом alpine и выполнением команды ping docker.com:
docker service create --replicas 2 --name helloworld alpine ping docker.com

docker service create --replicas 2 --name webnginx -p 80:80 nginx - запуск образа nginx на двух нодах с пробросом на 80 порт
docker service ps helloworld -просмотр на каких нодах работает наш сервис helloworld

docker service rm helloworld -удаление сервиса из кластера
docker swarm leave --force -удалить все ноды из кластера, т.е. убиваем кластер

Docker-compose запуск в режиме кластера (Swarm).
Выполняется командой docker stack. Также нужен файл YML похожий как для Docker-compose, но немного видоизмененный. Перед этим должен быть создан наш мастер Swarm кластера командой docker swarm init --advertise-addr 192.168.56.104 и присоединены ноды командами типа docker swarm join --token SWMTKN-1-1s3cqewjavdshw8vilvx03isar5mz47uvrqd1mwdi3y6jjg1ep-2kkxm41217rqhdb4emu82eeuh 192.168.56.104:2377

Итак команда docker stack.
docker stack deploy -c docker-stack.yml stack1
где
-c docker-stack.yml stack1 -создаем наш кластер из файла docker-stack.yml с именем stack1
Содержимое docker-stack.yml:
version: '3.1'

services:

  adminer:
    image: vitalyvo/adminerdb
    ports:
      - 3080:8080
    deploy:
        replicas: 2

  db:
    image: vitalyvo/postgresdb
    environment:
      POSTGRES_PASSWORD: 123
    volumes:
      - /home/admin1/dockerfolderpg/database:/var/lib/postgresql/data
    deploy:
        replicas: 1

Для db replicas равна 1 т.к. в нашем случае база данных должна быть только в одном месте.
docker stack services stack1 -посмотреть запущенные сервисы на наших нодах (выполняется только с мастер ноды)
docker stack ls -посмотреть запущенные стеки
docker stack rm stack1 -удалить stack1

[продолжение следует]

Категория: Unix | Добавил: admin (24.10.2018)
Просмотров: 506 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: