2016-08-21 9 views
-2

Насколько я знаю, Docker Swarm API совместим с API Offical Docker.Docker Swarm - эквивалентные команды докеров

Что является эквивалентом Docker Swarm команды для следующих команд докеров:

  1. docker ps -a

  2. docker run --net=host --privileged=true \

    -e DEVICE=$VETH_NAME -e SWARM_MANAGER_ADDR=$SWARM_MANAGER_ADDR -e SWARM_MANAGER_PORT=$SWARM_MANAGER_PORT \

    -v conf_files:/etc/sur \

    -v conf_files:/etc/sur/rules \

    -v _log:/var/log/sur\

    -d sur

+0

Какая версия Рой? Оригинальный контейнерный рой или новый Swarmkit, или если вы этого не знаете, как вы создали свой Рой? – BMitch

+0

Эй, Я собираюсь установить тот, который указан здесь: https://github.com/docker/swarm Спасибо, Эфрат –

ответ

1

Автономный рой просто имеет другой хост/порт для вас, чтобы связаться с клиентом (клиент является docker кли). Он передает команды по мере необходимости от менеджера к каждому узлу роя. Самый простой способ сделать это, чтобы установить $DOCKER_HOST, чтобы указать на порт менеджер слушает:

# start your manager, the end of the command is your discovery method 
docker run -d -P --restart=always --name swarm-manager swarm manager ... 

# send all future commands to the manager 
export DOCKER_HOST=$(docker port swarm-manager 2375) 

# run any docker ps, docker run, etc commands on the Swarm 
docker ps 
docker run --net=host --privileged=true \ 
    -e DEVICE=$VETH_NAME \ 
    -e SWARM_MANAGER_ADDR=$SWARM_MANAGER_ADDR \ 
    -e SWARM_MANAGER_PORT=$SWARM_MANAGER_PORT \ 
    -v conf_files:/etc/sur \ 
    -v conf_files:/etc/sur/rules \ 
    -v _log:/var/log/sur \ 
    -d sur 

# return to running commands on the local docker host 
unset DOCKER_HOST 

Если нужны эти значения SWARM_MANAGER_ADDR/PORT определены, те могут выйти из команды docker port. В противном случае я не знаком с изображением «sur», чтобы узнать о значениях, которые вам нужно пройти.

+0

Спасибо !! Знаете ли вы, можно ли определить тип правила Роя, в котором говорится, что «если контейнер A был создан и запущен, создайте контейнер B»? –

+0

Не специально с Роем. Вы можете создавать ограничения с фильтрами, чтобы попросить контейнеры работать только на машинах, на которых запущен другой конкретный контейнер. Но, скорее всего, вы хотите, чтобы docker-compose использовался для развертывания группы контейнеров вместе с выбранными вами параметрами. – BMitch

+0

@ EfratLevy, отвечая на ваш комментарий, вы можете просмотреть файлы докеров, написанные в формате .yml, чтобы предоставить необходимые конфигурации и определить ограничения. Просмотрите этот https://docs.docker.com/compose/compose-file/ –

Смежные вопросы