Docker-compose не се инсталира или не работи правилно на boot2docker

Успешно инсталирах docker-machine на моя компютър с Windows и мога да използвам Docker CLI на моя windows box, за да изпълнявам docker команди на boot2docker VM.

Имам docker-machine версия 0.2.0 и docker 1.6.2 и VM дава "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: не е намерено   -  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 (може да се наложи първо да се създаде dir), т.е.

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 в терминала, за да видите дали не получавате „не е намерено“ или нещо подобно или да изпълните 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 къде работи докер сървърът.

Повече информация за инсталирането му в 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