Rus*_*o_x 4 docker docker-compose
我对docker 很陌生,正在遵循此处找到的文档,尝试使用 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
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
mch*_*wre 12
有官方的dockerhub的码头工人,码头工人撰写的形象,只是使用它。
按着这些次序:
mkdir /root/testdocker-compose.yaml包含以下内容的文件:version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: redis
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
注意:这里容器内的 /var/tmp 目录将包含 docker-compose.yaml 文件,所以我使用-f选项来指定 yaml 文件的完整路径。也docker.sock从主机安装到容器上。
希望这可以帮助。
在执行 docker run 之前,将 docker-compose 安装添加到 Dockerfile 中。
例如,如果您有 Ubuntu docker,请添加到您的Dockerfile中:
RUN aptitude -y install docker-compose
RUN ln -s /usr/local/bin/docker-compose /compose/docker-compose
Run Code Online (Sandbox Code Playgroud)
因为看起来如果您的入口点在 /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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11622 次 |
| 最近记录: |