无人机(Docker 中的 Docker-Compose?)

Cus*_*ter 8 docker drone.io drone

我想做

docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

似乎plugins/docker可以做我想做的事,但如果我不指定与发布相关的东西,它就会失败。我想在不发布的情况下使用它。

另一种选择可能是服务,但我尝试总是失败

来自docs.drone.io/docker_dind的代码

kind: pipeline
name: default

steps:
- name: test
  image: docker:dind
  volumes:
  - name: dockersock
    path: /var/run
  commands:
  - sleep 5 # give docker enough time to start
  - docker ps -a
  - docker-compose -v # new

services:
- name: docker
  image: docker:dind
  privileged: true
  volumes:
  - name: dockersock
    path: /var/run

volumes:
- name: dockersock
  temp: {}
Run Code Online (Sandbox Code Playgroud)

错误:

/usr/drone/bin/init: line 23: docker-compose: not found
Run Code Online (Sandbox Code Playgroud)

Fra*_* Gu 8

docker:dind容器似乎并不具有“泊坞窗,撰写”安装。您可以尝试使用docker/compose:1.23.2容器。如果您打算使用主机 docker 资源(即图像、网络),则需要挂载 docker 套接字文件。否则,您需要将带有 docker-compose 文件的/code目录挂载到该目录中。

docker/compose 镜像参考:https : //hub.docker.com/r/docker/compose/

请参阅以下代码以供参考:

kind: pipeline
name: default

steps:
- name: test
  image: compose:1.23.2
  volumes:
  - name: docker_sock
    path: /var/run/docker.sock
  commands:
  - up -f /drone/src/docker-compose.yaml
volumes:
  - name: docker_sock
    host:
      path: /var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)