如果我在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?
2018年11月7日更新:
在适用于Mac和Windows的Docker等桌面系统上,Docker Compose包含在这些桌面安装中。
根据文档, 适用于Windows的 Docker 和 Docker Toolbox 已包含Compose以及其他Docker应用程序,因此大多数Windows用户不需要单独安装Compose。
2017年更新:现在已使用“ Docker for Windows”正式管理了此功能(对于支持Hyper-V的Windows 10)。 请参阅“ 为Windows安装Docker ”。 它确实具有适用于Docker的Chocolatey安装软件包,因此:
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 2230和PR 2143之类的请求请求有所帮助。 提交13d5efc详细介绍了Windows二进制文件的正式生成过程。
原始答案(2015年第一季度至第三季度)。
警告:docker-compose根据Ed Morley(edmorley)的说法,以下原始答案(“ 在容器中”)似乎有错误。
docker-compose
edmorley
“ docker-compose in a container”方法似乎存在缓存问题(请参阅问题#6:“未检测到对docker- compose.yml和Dockerfile的更改”)
埃德建议:
就目前而言, 对于Windows用户而言,在其中运行Python docker- compose软件包boot2docker似乎是最可靠的解决方案(花了很多时间试图与其他选择抗衡)。 要从PyPI安装docker-compose,请从内部运行boot2docker:
就目前而言, 对于Windows用户而言,在其中运行Python docker- compose软件包boot2docker似乎是最可靠的解决方案(花了很多时间试图与其他选择抗衡)。
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:
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-compose为pip install -U docker-compose>=1.3.0rc1或等效版本。
(su docker -c体操是必需的,因为tce-load不能运行为root,并且bootlocal.sh运行为root。一旦#915固定,就不必使用chmodof了。如果需要附加而不是覆盖,请 添加到命令中。)bootlocal.sh -a``tee``bootlocal.sh
su docker -c
tce-load
root
chmod
-a``tee``bootlocal.sh
如果您希望使用docker-compose的预发布版本,请替换pip install -U docker-compose为pip install -U docker-compose>=1.3.0rc1或等效版本。
pip install -U docker-compose
pip install -U docker-compose>=1.3.0rc1
原始答案:
我也docker-compose通过以下方式在映像中运行(在Windows boot2docker上):
/c/Users/<username>/myproject/compose
/c/Users/<username>
构建docker-compose镜像:
cd /c/Users/<username>/myproject/compose
git checkout 1.2.0 docker build -t docker-compose .
添加一个’ dc‘别名(在我启动boot2docker ssh会话之前复制到我的profile文件中)。/home/docker/.ashrc
dc
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。
dc up
dc ps