运行 docker-与 Rancher 组合 OS
Running docker-compose with Rancher OS
我正在尝试使用 aws rancher os。我想用同一个牧场主 OS 创建 运行 一个 docker-compose 文件。当我尝试使用 Docker-compose up 命令时,出现错误“无法识别 docker-compose.
请任何人帮助我
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/
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 中。
只是为 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
之类的命令,就好像它已经安装好了一样!
我正在尝试使用 aws rancher os。我想用同一个牧场主 OS 创建 运行 一个 docker-compose 文件。当我尝试使用 Docker-compose up 命令时,出现错误“无法识别 docker-compose.
请任何人帮助我
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/
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 中。
只是为 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
之类的命令,就好像它已经安装好了一样!