docker-compose 已在 Go 中重写,现在是 docker 命令 docker compose
因此,不再需要“安装”它。
见 docker compose 。
在 Docker for Mac 和 Windows 等桌面系统上,Docker Compose 包含在这些桌面安装中。
根据文档, Docker for Windows 和 Docker Toolbox 已经包含 Compose 以及其他 Docker 应用程序,因此大多数 Windows 用户不需要单独安装 Compose。
2017 年更新:现在使用 “Docker for Windows” 正式管理(适用于支持 Hyper-V 的 Windows 10)。
请参阅“ 为 Windows 安装 Docker ”。
它确实有一个用于 Docker 的 巧克力 安装 包,所以:
choco install docker-for-windows
# or
choco upgrade docker-for-windows
同样,这需要 64 位 Windows 10 专业版、企业版和教育版(1511 年 11 月更新,内部版本 10586 或更高版本)和 Microsoft Hyper-V。
对于其他 Windows,您仍然需要 VirtualBox + Boot2Docker。
更新: docker compose 1.5 (2015 年 11 月)应该使其正式可用于 Windows(自 RC2 起)。
PR 2230 和 PR 2143 之 类的拉取请求有所帮助。
提交 13d5efc 详细介绍了 Windows 二进制文件的官方构建过程。
原始答案(2015 年第一季度至第三季度)。
警告:根据 Ed Morley ( edmorley ) 的说法,下面的原始答案(“ docker-compose 在容器中”)似乎有一个错误。
“容器中的 docker-compose”方法似乎存在缓存问题(参见 问题 #6:“未检测到对 docker-compose.yml 和 Dockerfile 的更改” )
埃德建议:
因此,就目前而言,在 --- 中运行 Python docker-compose boot2docker 似乎是 Windows 用户最可靠的解决方案(已经花了很多时间试图与替代方案进行斗争) 。
要从 PyPI 安装 docker-compose,请从 boot2docker 内部运行:
> docker@boot2docker:~$
> tce-load -wi python && curl https://bootstrap.pypa.io/get-pip.py | \
> sudo python - && sudo pip install -U docker-compose
>
> ```
>
> 为了避免每次 `boot2docker` VM 重新启动时都必须运行上述命令(因为更改不会持续存在),您可以使用 `bootlocal.sh` 像这样:
>
> ```
> docker@boot2docker:~$
> echo 'su docker -c "tce-load -wi python" && \
> curl https://bootstrap.pypa.io/get-pip.py | \
> python - && pip install -U docker-compose' | \
> sudo tee /var/lib/boot2docker/bootlocal.sh > /dev/null && \
> sudo chmod +x /var/lib/boot2docker/bootlocal.sh
>
> ```
>
> (The `su docker -c` gymnastics are required since `tce-load` cannot be run as `root` , and `bootlocal.sh` is run as `root` . 修复 [#915](https://github.com/boot2docker/boot2docker/issues/915) 后,应该不需要 `chmod` 的 `bootlocal.sh` 。
>
> 如果您需要追加,请添加 `-a` 到 `tee` 命令,而不是覆盖 `bootlocal.sh` 。)
>
> 如果您希望使用 docker-compose 的预发布版本,请将 `pip install -U docker-compose` 替换为 `pip install -U docker-compose>=1.3.0rc1` 或等效版本。
* * *
原答案:
我还通过以下方式在图像中运行 [`docker-compose`](https://docs.docker.com/compose/) (在 Windows boot2docker 上):
- 在 `/c/Users//myproject/compose` 中克隆 [https://github.com/docker/compose](https://github.com/docker/compose) (为了具有持久性,因为 `/c/Users/` 是 [自动安装的,当我使用带有扩展包的 VirtualBox 时](https://stackoverflow.com/a/29554135/6309))
- 构建 docker-compose 图像:
cd /c/Users//myproject/compose
# that will put the repo in a detached HEAD, but it does not matter here
git checkout 1.2.0
docker build -t docker-compose .
- 添加一个' `dc` '别名(在一个 [`profile` 文件](https://github.com/VonC/b2d/blob/b0b7dcdee2f59fd3762fa10eac0522f1591cf372/profile#L53) 中,我在 [启动boot2docker ssh会话](https://github.com/VonC/b2d/blob/b0b7dcdee2f59fd3762fa10eac0522f1591cf372/b2d.bat#L6) 之前 [复制到我的 `/home/docker/.ashrc`](https://github.com/VonC/b2d/blob/b0b7dcdee2f59fd3762fa10eac0522f1591cf372/b2d.bat#L5) 。)
dc='docker run --rm -i -t -v /var/run/docker.sock:/var/run/docker.sock -v `pwd`:`pwd` -w `pwd` docker-compose'
”`
从那里,’ dc up ‘或’ dc ps ‘才有效。在 Windows 上。使用 boot2docker 1.6。
docker-compose 已在 Go 中重写,现在是 docker 命令 docker compose
因此,不再需要“安装”它。
见 docker compose 。