使用 Rancher OS 运行 docker-compose

Posted

技术标签:

【中文标题】使用 Rancher OS 运行 docker-compose【英文标题】:Running docker-compose with Rancher OS 【发布时间】:2017-06-07 19:39:55 【问题描述】:

我正在尝试使用 aws rancher os。我想使用相同的牧场主操作系统创建和运行一个 docker-compose 文件。当我尝试使用 Docker-compose up 命令时,出现错误“无法识别 docker-compose。

请任何人帮助我解决这个问题

【问题讨论】:

【参考方案1】:

RancherOS 是 Linux 内核、Docker 守护程序的最小安装,通常尽可能少。 docker-compose 不是默认控制台的一部分。

根据您要执行的操作,您可以使用 docker-compose 语法创建 RancherOS 服务:https://rancher.com/docs/os/v1.2/en/system-services/adding-system-services/

或者从容器中运行实际的 docker-compose:docker run docker/compose:1.10.0

或切换到其中一个持久控制台并在本地安装:https://rancher.com/docs/os/v1.2/en/configuration/switching-consoles/

【讨论】:

我似乎需要 -v 才能让任何东西正常工作,不知道为什么。【参考方案2】:

Vincent 建议使用 compose 容器有效,并带有一些额外的参数:

$ 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 中。

【讨论】:

【参考方案3】:

仅为 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 这样的命令,就好像它安装在哪里一样!

【讨论】:

以上是关于使用 Rancher OS 运行 docker-compose的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OS X 上安装 Rancher

sh Rancher OS命令用于整个SD

sh 来自http://docs.rancher.com/os/quick-start-guide/

Docker 安装(官方安装方法)

rancher官方资源

rancher 与 Kubernetes 有何不同