дрон (Docker-Compose в Docker?) - PullRequest
       60

дрон (Docker-Compose в Docker?)

1 голос
/ 21 марта 2019

Я бы хотел сделать

docker-compose up -d

Похоже, что 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: {}

Ошибка:

/usr/drone/bin/init: line 23: docker-compose: not found

1 Ответ

1 голос
/ 21 марта 2019

В контейнере docker:dind, похоже, не установлен "docker-compose".Вы можете попробовать использовать контейнер docker/compose:1.23.2.Вам необходимо смонтировать файл сокета докера, если вы собираетесь использовать ресурсы докера вашего хоста (т. Е. Образы, сети).В противном случае вам необходимо смонтировать каталог с файлом docker-compose в каталог /code.

ссылка на докер / создание изображения: 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
...