我尝试在没有安装的情况下运行docker-compose,因此使用docker:compose
存储库(带有docker run
)。
所以我尝试了这种方式:
docker run -ti --rm -v $PWD:/XXX docker/compose:1.24.1 up -d
问题是我不知道docker/compose
(这里是XXX)的容器目录名称来将当前文件夹作为卷挂载。
有什么想法吗??
谢谢!
答案 0 :(得分:1)
您可以将本地docker-compose.yaml
绑定到任何地方,只需记住要告诉docker-compose
使用-f
,就像下一个一样:
docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${PWD}:/code docker/compose:1.24.1 -f /code/docker-compose.yaml up -d
同时,不要忘记将docker.sock
的主机绑定安装添加到容器中。
答案 1 :(得分:0)
该XXX
文件夹可以是容器内的任何东西。基本上在-v
的{{1}}选项中。其-v [主机目录]:[容器目录]。
如果您尝试在容器中运行docker-compose,请按照以下步骤操作:
docker run
上创建目录mkdir /root/test
文件:docker-compose.yaml
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: redis
命令以在容器内运行docker-compose。docker run
注意::容器内的/ var / tmp目录中将包含docker-compose.yaml文件,因此我使用了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
选项来指定yaml文件的完整路径。>
希望这会有所帮助。