一尘不染

如何在Windows上安装docker-compose

docker

如果我在docker网站上显示的boot2docker中键入以下命令:

curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

当我键入以下命令来检查安装是否成功时,我得到了:

/usr/local/bin/docker-compose: line 1: syntax error: unexpected newline

因此,如何在boot2docker上安装docker-compose?


阅读 1123

收藏
2020-06-17

共1个答案

一尘不染

2018年11月7日更新:

在适用于Mac和Windows的Docker等桌面系统上,Docker Compose包含在这些桌面安装中。

根据文档适用于Windows的
DockerDocker Toolbox
已包含Compose以及其他Docker应用程序,因此大多数Windows用户不需要单独安装Compose。


2017年更新:现在已使用“ Docker for Windows”正式管理了此功能(对于支持Hyper-V的Windows 10)。
请参阅“ 为Windows安装Docker
”。
它确实具有适用于DockerChocolatey安装软件包,因此:

choco install docker-for-windows 
# or
choco upgrade docker-for-windows

同样,这需要64位Windows 10Pro,Enterprise和Education(11月1511更新,内部版本10586或更高版本)和Microsoft Hyper-V。

对于其他Windows,您仍然需要VirtualBox + Boot2Docker。


更新:docker compose
1.5
(2015年11月)应使其正式可用于Windows(自RC2起)。

PR 2230PR
2143之
类的请求请求有所帮助。
提交13d5efc详细介绍了Windows二进制文件的正式生成过程。


原始答案(2015年第一季度至第三季度)。

警告:docker-compose根据Ed
Morley(edmorley)的
说法,以下原始答案(“ 在容器中”)似乎有错误。

“ docker-compose in a container”方法似乎存在缓存问题(请参阅问题#6:“未检测到对docker-
compose.yml和Dockerfile的更改”

埃德建议

就目前而言, 对于Windows用户而言,在其中运行Python docker- compose软件包boot2docker似乎是最可靠的解决方案(花了很多时间试图与其他选择抗衡)

要从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

su docker -c体操是必需的,因为tce-load不能运行为root,并且bootlocal.sh运行为root。一旦#915固定,就不必使用chmodof了。如果需要附加而不是覆盖,请
添加到命令中。)bootlocal.sh
-a``tee``bootlocal.sh

如果您希望使用docker-compose的预发布版本,请替换pip install -U docker-composepip install -U docker-compose>=1.3.0rc1或等效版本。


原始答案:

我也docker-compose通过以下方式在映像中运行(在Windows
boot2docker上):

  • 克隆https://github.com/docker/compose/c/Users/<username>/myproject/compose(为了具有持久性,因为/c/Users/<username>被自动地安装,当我使用的VirtualBox以其扩展包
  • 构建docker-compose镜像:

    cd /c/Users/<username>/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‘别名(在启动boot2docker ssh会话之前复制到我profile文件中)。/home/docker/.ashrc

    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。

2020-06-17