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

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

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

【问题讨论】:

    标签: amazon-web-services docker-compose rancher


    【解决方案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 这样的命令,就好像它安装在哪里一样!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-05
        • 2020-10-12
        • 2018-06-07
        • 1970-01-01
        • 2018-12-16
        • 2021-08-04
        • 2018-12-03
        相关资源
        最近更新 更多