在不安装的情况下运行docker compose

在不安装的情况下运行docker compose,docker,docker-compose,Docker,Docker Compose,我尝试在没有安装的情况下运行docker compose,因此使用docker:compose存储库(使用docker run) 所以我试着这样做: docker run -ti --rm -v $PWD:/XXX docker/compose:1.24.1 up -d 问题是我不知道将当前文件夹装载为卷的docker/compose(这里是XXX)的容器目录名 有什么想法吗 谢谢 您可以将本地docker compose.yaml绑定到任何位置,只需记住告诉docker compose使用

我尝试在没有安装的情况下运行docker compose,因此使用
docker:compose
存储库(使用
docker run

所以我试着这样做:

docker run -ti --rm  -v $PWD:/XXX docker/compose:1.24.1 up -d
问题是我不知道将当前文件夹装载为卷的
docker/compose
(这里是XXX)的容器目录名

有什么想法吗


谢谢

您可以将本地
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
添加到容器中。

XXX
文件夹可以是容器中的任何内容。基本上是在
-v
选项中的
docker run
。Its-v[主机目录]:[容器目录]

如果您试图在容器内运行docker compose,请执行以下步骤:

  • 在主机上创建目录
    mkdir/root/test
  • 创建具有以下内容的
    docker compose.yaml
    文件:
  • 运行
    docker Run
    命令在容器内运行docker compose
注意:容器中的/var/tmp目录将包含docker-compose.yaml文件,因此我使用了
-f
选项来指定yaml文件的完整路径

希望这有帮助

version: '2'

services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code
  redis:
    image: redis
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