Ответ 1
Вы не указали ошибки, которые вы испытывали.
Это документация для используемого изображения:
База данных Mesos Docker, использующая пакеты Mesosphere от https://mesosphere.io/downloads/. Не запускайте Mesos, пожалуйста, используйте мезо-мастер и мезо-рабские докеры.
Что действительно беспокоило меня об этих изображениях, так это то, что они были ненадежны, и ни один источник не был сразу доступен.
Итак, я снова создал ваш пример, используя gisub mesosphere как вдохновение:
Обновленный пример
Пример обновлен, чтобы включить инфраструктуру chronos
├── build.sh
├── fig.yml
├── mesos
│ └── Dockerfile
├── mesos-chronos
│ └── Dockerfile
├── mesos-master
│ └── Dockerfile
└── mesos-slave
└── Dockerfile
Создайте базовое изображение (нужно сделать только один раз)
./build.sh
Запустите fig, чтобы запустить экземпляр каждой службы:
$ fig up -d
Creating mesos_zk_1...
Creating mesos_master_1...
Creating mesos_slave_1...
Creating mesos_chronos_1...
Одна полезная вещь о фиге - это то, что вы можете масштабировать ведомые устройства
$ fig scale slave=5
Starting mesos_slave_2...
Starting mesos_slave_3...
Starting mesos_slave_4...
Starting mesos_slave_5...
Ведущая консоль mesos должна показывать 5 подчиненных хостов
http://localhost:15050/#/slaves
И инфраструктура chronos должна быть запущена и готова к запуску задач
http://localhost:14400
fig.yml
zk:
image: mesos
command: /usr/share/zookeeper/bin/zkServer.sh start-foreground
master:
build: mesos-master
ports:
- "15050:5050"
links:
- "zk:zookeeper"
slave:
build: mesos-slave
links:
- "zk:zookeeper"
chronos:
build: mesos-chronos
ports:
- "14400:4400"
links:
- "zk:zookeeper"
Примечания:
- Для этого примера нужен только один экземпляр zookeeper
build.sh
docker build --rm=true --tag=mesos mesos
Mesos/Dockerfile
FROM ubuntu:14.04
MAINTAINER Mark O'Connor <[email protected]>
RUN echo "deb http://repos.mesosphere.io/ubuntu/ trusty main" > /etc/apt/sources.list.d/mesosphere.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF
RUN apt-get -y update
RUN apt-get -y install mesos marathon chronos
Mesos-мастер/Dockerfile
FROM mesos
MAINTAINER Mark O'Connor <[email protected]>
EXPOSE 5050
CMD ["--zk=zk://zookeeper:2181/mesos", "--work_dir=/var/lib/mesos", "--quorum=1"]
ENTRYPOINT ["mesos-master"]
Mesos-ведомый/Dockerfile
FROM mesos
MAINTAINER Mark O'Connor <[email protected]>
CMD ["--master=zk://zookeeper:2181/mesos"]
ENTRYPOINT ["mesos-slave"]
Mesos-Хронос/Dockerfile
FROM mesos
MAINTAINER Mark O'Connor <[email protected]>
RUN echo "zk://zookeeper:2181/mesos" > /etc/mesos/zk
EXPOSE 4400
CMD ["chronos"]
Примечания:
- Командная строка "chronos" настроена с использованием файлов.