码头工人在码头工人里面组装

时间:2017-06-30 14:21:55

标签: docker docker-compose

我对docker很新,并且正在关注找到here的文档,尝试使用docker-compose 1.14.0在dind中部署几个容器我得到以下内容

docker run -v /home/dudarev/compose/:/compose/ --privileged docker:dind /compose/docker-compose
/usr/local/bin/dockerd-entrypoint.sh: exec: line 21: /compose/docker-compose: not found

我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

dockerhub上有official个docker image用于docker-compose,只需使用它即可。

请按照以下步骤操作:

  • 在主机mkdir /root/test上创建目录
  • 使用以下内容创建docker-compose.yaml文件:
version: '2'

services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code
  redis:
    image: redis
  • 运行docker run命令以在容器内运行docker-compose。
docker run -itd -v /var/run/docker.sock:/var/run/docker.sock -v /root/test/:/var/tmp/ docker/compose:1.24.1  -f /var/tmp/docker-compose.yaml up -d

注意::容器内的/ var / tmp目录中将包含docker-compose.yaml文件,因此我使用了-f选项来指定yaml文件的完整路径。此外,docker.sock也从主机安装到了容器上。

希望这会有所帮助。

答案 1 :(得分:0)

在执行docker run之前,将Docker-compose安装添加到Dockerfile。

例如,如果您有一个Ubuntu泊坞窗,请添加到 Dockerfile

RUN aptitude -y install docker-compose
RUN ln -s /usr/local/bin/docker-compose /compose/docker-compose

因为看起来你的入口点是在/ compose文件夹中查找docker compose,而默认情况下docker-compose安装在/ usr / local / bin中。

  

如果你想要一个具体的docker-compose版本(例如1.20.0-rc2):

RUN curl -L https://github.com/docker/compose/releases/download/1.20.0-rc2/docker-compose-`uname -s`-`uname -m` -o /compose/docker-compose
RUN chmod +x /compose/docker-compose