docker - 无人机(Docker-Compose in docker?)
问题描述
我想做
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
解决方案
该docker:dind
容器似乎没有安装“docker-compose”。您可以尝试使用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
推荐阅读
- python - 标记 Dataframe 中具有不同字符串的列是否存在于另一列中
- node.js - MonboDB 通过过滤器查找和更新嵌套数组(如果存在)
- python - Flask AttributeError:“str”对象没有属性“wrap_socket”
- node.js - 节点js中的不同服务器响应并做出反应
- java - 将 Hive 中的数据集保存为 avro 格式合并列
- sql - 对于点列表,是否是任何多边形内的点
- mysql - mysql中的复杂旋转
- android - Android EditText 和 SearchView :主要区别是什么(除了设计)?
- html - 在输入旁边而不是在其下方显示图像
- arrays - 如何在设置为空“[]”Vue后立即将对象添加到数组中