Docker-compose не устанавливается или не запускается должным образом на boot2docker

Я успешно установил докер-машину на свой компьютер с Windows, и я могу использовать Docker CLI в своем окне Windows для выполнения команд докеров на виртуальной машине boot2docker.

У меня есть докер-машина версии 0.2.0 и докер 1.6.2, и виртуальная машина выдает «4.0.3-boot2docker», когда я запускаю на ней «uname -r».

Теперь я хочу установить docker-compose для управления этой виртуальной машиной boot2docker. Запускается ли docker-compose на моем компьютере с Windows и управляет ли виртуальная машина «удаленно», как это делает docker, или мне нужно устанавливать его на самой виртуальной машине?

Кстати, я попытался установить docker-compose на свою виртуальную машину, выполнив следующие действия:

C:\ docker-machine ssh dev
$ whoami
docker
$ sudo -i
# curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# exit
$ which docker
/usr/local/bin/docker
$ which docker-compose
/usr/local/bin/docker-compose

Это нормально, но когда я пытаюсь запустить docker-compose, это не работает.

$ docker-compose up
-sh: docker-compose: not found

Файл находится в / usr / local / bin и имеет те же привилегии, что и docker.

docker@dev:/usr/local/bin$ ls -al do*
-rwxr-xr-x    1 root     root      15443675 May 13 21:24 docker
-rwxr-xr-x    1 root     root       5263681 May 19 00:09 docker-compose
docker@dev:/usr/local/bin$

Что-то мне не хватает?


person Jay Godse    schedule 19.05.2015    source источник
comment
что происходит, когда вы запускаете /usr/local/bin/docker-compose?   -  person Michael    schedule 19.05.2015
comment
То же самое .... -sh: docker-compose: not found   -  person Jay Godse    schedule 19.05.2015
comment
Docker Compose запускается удаленно (как вы говорите), глядя на $DOCKER_HOST URL, определенный на вашем локальном компьютере. Изменяя эту переменную, вы будете запускать свои docker-compose команды для демона Docker, работающего по этому URL-адресу. Следовательно, вам не нужно устанавливать Docker Compose на вашу виртуальную машину; это инструмент разработчика, который должен находиться на вашем локальном компьютере разработчика.   -  person linkyndy    schedule 25.05.2015


Ответы (3)


Внимательно посмотрите на результат curl. Похоже, что URL-адрес загрузки больше не действителен. я нашел это

curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-Linux-x86_x64

дал

{"error":"Not Found"}

Для меня текущий выпуск 1.3.2 работал хорошо, то есть:

curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-Linux-x86_x64

ПРИМЕЧАНИЕ. При использовании текущей CoreOS не пытайтесь выводить в /usr/local/bin/docker-compose, как указано здесь. Вместо этого используйте /opt/bin/docker-compose (может потребоваться сначала создать каталог), т.е.

mkdir -p /opt/bin
curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-Linux-x86_x64 > /opt/bin/docker-compose
person mkoertgen    schedule 15.07.2015

Я обнаружил, что ссылки для загрузки не работают для более старых версий, и «установка» не выполняется без уведомления, что приводит к описанной вами проблеме. Здесь вы можете найти ссылку для загрузки текущей версии:

https://github.com/docker/compose/releases

Как сказал mkoertgen, вы всегда можете просмотреть вывод команды curl в терминале, чтобы убедиться, что вы не получили сообщение «not found» или что-то подобное, или запустите cat / usr / local / bin / docker-compose, чтобы убедиться, что это не так. текстовый файл, содержащий «не найдено».

person Johan    schedule 11.09.2015

Вы также можете установить docker-compose на свой хост Windows. Он будет управлять вашим докером удаленно. Вы можете думать о docker-compose как о более абстрактном интерфейсе для docker.

После запуска boot2docker init запустите boot2docker shellinit | Invoke-Expression. Это сообщит docker и docker-compose, где работает сервер docker.

Дополнительную информацию об установке в Windows можно найти здесь: http://docs.docker.com/installation/windows/

person Fedalto    schedule 16.07.2015
comment
AFAIK для Windows не существует двоичного файла для создания докеров. Я знаю варианты: 1) запустить docker-compose как контейнер, 2) сборку python через pip (которая не работает в Windows из-за отсутствия зависимостей). Вы имеете в виду 1) как-то интегрировали в boot2docker? - person mkoertgen; 17.07.2015
comment
Я никогда не запускал docker или docker-compose в Windows. Но docker-compose выпущен как пакет python, который можно установить через pip. Поэтому я думаю, что просто запустите pip install docker-compose, как и на других SO. - person Fedalto; 17.07.2015
comment
Нет, двоичный файл python не может быть установлен из-за отсутствия зависимостей - person mkoertgen; 25.07.2015