docker 在 docker 中 docker compose [英] docker compose inside docker in a docker

查看:24
本文介绍了docker 在 docker 中 docker compose的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am pretty new to docker and was following the documentation found here, trying deploy several containers inside dind using docker-compose 1.14.0 I get the following

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

我错过了什么吗?

推荐答案

在执行 docker run 之前将 docker-compose 安装添加到您的 Dockerfile.

Add docker-compose installation to your Dockerfile before executing docker run.

例如,如果您有 Ubuntu docker,请添加到您的 Dockerfile:

For example, if you have an Ubuntu docker, add to your 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 中.

Because it looks like if your entry-point looks up docker compose in /compose folder, while docker-compose is installed in /usr/local/bin by default.

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

If you want a concrete docker-compose version (for example 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

这篇关于docker 在 docker 中 docker compose的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆