Запуск системы Emcee без Kubernetes
Ручной запуск контейнеров#
Для запуска Emcee без Kubernetes потребуется создать network для Docker и запустить все необходимые контейнеры вручную.
Создаем сеть для Docker-контейнеров с любым именем. Например, emcee-network
:
Скачиваем и запускаем контейнер с очередью и указываем сеть, в которой будет работать контейнер. Дополнительно указывается параметр --publish
для маппинга порта хоста на порт контейнера и открытия внешнего доступа к контейнеру с очередью:
docker run --detach --rm --name emcee-queue-service --network emcee-network --publish 41000:41000 avitotech/emcee-queue:20.1.0
Скачиваем и запускаем контейнер с воркером. Таких контейнеров может быть запущено несколько, для этого каждому контейнеру нужно задать своё имя:
docker run --detach --rm --name queue-worker1 --network emcee-network --device /dev/kvm avitotech/emcee-worker:20.1.0
Скачиваем и запускаем контейнер с Artifactory. Дополнительная настройка Artifactory будет описана ниже.
docker run --detach --network emcee-network --publish 8081:8081 --publish 8082:8082 --name emcee-artifactory-service --volume emcee_artifactory:/var/opt/jfrog/artifactory docker.bintray.io/jfrog/artifactory-oss:latest
Чтобы убедиться, что очередь запущена, можно подключиться к её контейнеру и увидеть логи:
Запуск с помощью Docker Compose#
Описанный выше алгоритм ручного запуска можно упростить с помощью Docker Compose.
Сперва нужно создать файл конфигурации docker-compose.yml
version: '3'
services:
emcee-queue-service:
image: avitotech/emcee-queue:20.1.0
container_name: emcee-queue-service
ports:
- 41000:41000
queue-worker:
image: avitotech/emcee-worker:20.1.0
env_file:
- emcee-worker.env
depends_on:
- emcee-queue-service
deploy:
replicas: 3
devices:
- "/dev/kvm:/dev/kvm"
emcee-artifactory:
image: docker.bintray.io/jfrog/artifactory-oss:latest
container_name: emcee-artifactory
ports:
- 8081:8081
- 8082:8082
volumes:
- emcee_artifactory:/var/opt/jfrog/artifactory
volumes:
emcee_artifactory:
Рядом с docker-compose.yml
нужно создать файл emcee-worker.env
, в котором можно описать переменные окружения для конфигурации воркера или оставить файл пустым.
См. главу Конфигурация воркера).
Пример emcee-worker.env
:
А потом вызвать команду docker compose up
в директории, где создан файл docker-compose.yml
.
Эта команда запустит очередь, 3 воркера и Artifactory.
Получение адресов очереди и Artifactory#
Если развернуть Emcee через Docker или Docker Compose локально, то локальные адреса будут выглядеть как:
http://localhost:41000/
для очередиhttp://localhost:8081/
для Artifactory
Где порты соответствуют портам, указанным выше при запуске контейнеров. Для очереди это 41000
, а для Artifactory это 8081
и 8082
.
Если Emcee развернута на удаленном компьютере, то доступ до него нужно настроить в зависимости от кофигурации вашей сети.