我想做
docker-compose up -d
似乎plugins/docker
可以执行我想要的操作,但是如果我未指定与发布相关的内容,它将失败。我想不发布就使用它。
另一种替代方法可能是服务,但我总是尝试失败
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: {}
错误:
/usr/drone/bin/init: line 23: docker-compose: not found
答案 0 :(得分:1)
docker:dind
容器似乎未安装“ docker-compose”。您可以尝试使用docker/compose:1.23.2
容器。如果您打算使用主机docker资源(即图像,网络),则需要挂载docker socket文件。否则,您需要将带有docker-compose文件的目录安装到/code
目录。
docker / compose image reference: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
答案 1 :(得分:0)
您可以将此yml用于无人机运行docker compose:
- name: publish
image: docker/compose:1.25.0-rc2-alpine
commands:
- docker-compose -f <docker compose filename>.yml up -d
volumes:
- name: dockersock
path: /var/run/docker.sock
depends_on:
- build