我是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
我错过了什么吗?
发布于 2018-04-13 17:09:28
在执行docker run之前,将docker-compose安装添加到Dockerfile中。
例如,如果你有一个Ubuntu docker,添加到你的docker文件中
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
发布于 2019-06-27 15:09:33
在dockerhub上有用于docker-compose的official docker镜像,只需使用它即可。
请按照以下步骤操作:
docker-compose.yaml
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
从主机装载到容器上。
希望这能有所帮助。
发布于 2022-02-08 20:23:34
下面是在docker中运行docker-compose的完整dockerfile
FROM ubuntu:21.04
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y python3
RUN apt-get install -y pip
RUN apt-get install -y curl
RUN curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose
https://stackoverflow.com/questions/44848721
复制相似问题