Запуск docker-compose с Rancher OS

Я пытаюсь с aws rancher os. Я хочу создать и запустить файл для создания докеров с той же ОС ранчера. Когда я пытаюсь использовать команду Docker-compose up, я получаю сообщение об ошибке «docker-compose не распознан».

пожалуйста, помогите мне в этом


person NGN    schedule 23.01.2017    source источник


Ответы (3)


RancherOS — это минимальная установка ядра Linux, демона Docker и вообще как можно меньше остального. docker-compose не является частью консоли по умолчанию.

В зависимости от того, что вы пытаетесь сделать, вы можете создать службу RancherOS с синтаксисом docker-compose: https://rancher.com/docs/os/v1.2/en/system-services/adding-системные-сервисы/

Или запустите настоящий docker-compose из контейнера: docker run docker/compose:1.10.0

Или переключитесь на одну из постоянных консолей и установите ее локально: https://rancher.com/docs/os/v1.2/en/configuration/switching-consoles/

person Vincent Fiduccia    schedule 24.01.2017
comment
Мне казалось, что -v нужен, чтобы что-то работало правильно, не знаю почему. - person JMY1000; 30.10.2018

Только чтобы добавить еще одну возможность к предложению AX Labs и Vincents:

создайте файл /usr/bin/docker-compose со следующим содержимым:

#/bin/bash

docker run \
  -ti --rm \
  -v $(pwd):$(pwd) \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -w $(pwd) \
  docker/compose \
  $@

и еще chmod +x /usr/bin/docker-compose

теперь вы можете использовать такие команды, как docker-compose up, как если бы они были установлены!

person CaTeR    schedule 23.07.2020

Предложение Винсента использовать контейнер компоновки работает с некоторыми дополнительными параметрами:

$ cat > /tmp/docker-compose.yml << _EOF
> version: '3.0'
>
> services:
>
>   busybox:
>     image: busybox:latest
>     command: "/bin/sh -c 'sleep 30s'"
>
>   alpine:
>     image: alpine:latest
>     command: "/bin/sh -c 'sleep 60s'"
> _EOF
$ docker run -v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock -w /tmp docker/compose:1.14.0 up -d
Creating network "tmp_default" with the default driver
Creating tmp_busybox_1 ...
Creating tmp_alpine_1 ...
Creating tmp_busybox_1
Creating tmp_alpine_1 ... done
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
7f0eccacd100        alpine:latest       "/bin/sh -c 'sleep..."   2 seconds ago       Up 2 seconds                            tmp_alpine_1
8f36a3cb1345        busybox:latest      "/bin/sh -c 'sleep..."   2 seconds ago       Up 2 seconds                            tmp_busybox_1

Это было в RancherOS v1.0.1.

person AXE Labs    schedule 18.07.2017