Docker Webサイトに表示されているように、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をインストールできますか?
WindowsでBabun(パッケージマネージャーを含むあらゆる種類の拡張機能を備えたCygwin Shellの有名なポート)を使用してdocker-composeを実行するもう1つのソリューションがあります。
方法は次のとおりです。
1.)Babunをインストール2.)開き、Python and Pip:
pact install python-setuptools
pact install libxml2-devel libxslt-devel libyaml-devel
curl -skS https://bootstrap.pypa.io/get-pip.py | python
pip install virtualenv
curl -skS https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python
3.)最後に実行
pip install -U docker-compose
ここから取った解決策は私のものではありません: http://habrahabr.ru/post/260329/
Docker-composeはboot2docker VMではなくホストにインストールする必要があるため、常にsshする必要はないという強い意見があります。
Pipを使用してWindowsにdocker-composeをインストールできます。
pip install -U docker-compose
Windows版のBoot2Dockerにはネイティブサポートがまだ追加されていないようです。
とりあえず、以前はfigで行ったことと同じようにdocker-composeを使用できます: それをdocker containerとして実行 。
boot2docker
バージョン> = 1.7.0
64ビットのユーザー空間 。これは、 そのgithubリポジトリ から事前にビルドされたバイナリがそのまま動作することを意味します。
VonCの上記の回答 の情報を使用して、最新バージョン(または特定のバージョン、コードのコメント部分を参照)をダウンロードし、それを保持するスクリプトを記述しました。ファイルは1回だけダウンロードされますが、boot2docker
を起動するたびにパスに配置されます。
boot2docker ssh
任意の端末から。exit
を実行してからboot2docker restart && boot2docker ssh
を実行しますdocker-compose
を実行して、コマンドリストで応答することを確認します。Windowsでは、boot2docker restart
コマンドは最初に失敗する傾向があります。ただし、そのコマンドを再度実行するだけです。
echo 'if [ ! -f /var/lib/boot2docker/etc/docker-compose-`uname -s`-`uname -m` ]; then
echo "Download docker-compose..."
# Download latest version
curl -L https://github.com/docker/compose/releases/download/$(curl -s -L https://github.com/docker/compose/releases/latest | \
grep -Eo -m 1 docker/compose/releases/tag/\([0-9.]*\) | \
grep -o [0-9.]*)/docker-compose-`uname -s`-`uname -m` \
> /var/lib/boot2docker/etc/docker-compose-`uname -s`-`uname -m`
# Download fixed version
# curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` \
# > /var/lib/boot2docker/etc/docker-compose-`uname -s`-`uname -m`
echo "Done!"
fi
echo "Install docker-compose on path..."
cp /var/lib/boot2docker/etc/docker-compose-`uname -s`-`uname -m` /usr/local/bin/docker-compose &&
chmod +x /usr/local/bin/docker-compose
echo "Done!"
' | Sudo tee /var/lib/boot2docker/bootlocal.sh > /dev/null && \
Sudo chmod +x /var/lib/boot2docker/bootlocal.sh
githubのこの問題 の後に成功しました
pip ...の後、このコマンドを実行してdocker-composeをインストールします。
`pip install git+git://github.com/docker/compose.git`
信じられない? この証明を見る
物事は進歩しており、最近、Dockerを使用してWindowsでネイティブに実行できる次の方法で最も成功しました。
まず、Windows用のDocker CLIをインストールします。
curl -L https://get.docker.com/builds/Windows/x86_64/docker-latest.exe > /usr/bin/docker
chmod +x /usr/bin/docker
次に、Githubリポジトリからdocker-composeイメージをビルドします。
docker build -t docker-compose github.com/docker/compose
次に、エイリアスを設定してコンテナを実行します。
alias docker-compose='docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock -v `pwd`:`pwd` -w `pwd` docker-compose'
私はこれをしばらく使用しており、問題に遭遇していません-機能は、バイナリをネイティブで使用する場合とまったく同じです。共有フォルダが正しくマッピングされていることを確認する必要がありますB2D/Docker-Machine VM。ホスト上にあるVMのパスをミラーリングするのが最も簡単なので、私のdocker-compose.ymlファイルはそれほど混乱しません。
Docker Compose(およびDocker)をWindowsにインストールする最も簡単な方法は、 chocolatey (Windowsのパッケージマネージャー)パッケージ docker-compose 、パッケージの後にインストールする必要があります docker 。これにより、手動でインストールするときに多くの障害から解放され、インストールを簡単に更新できます。
チョコレートに慣れていない場合は、 インストールするだけです 。次を使用した管理コマンドラインで:
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Chocolateyがインストールされたので、残っているのは管理用のPowershellを起動して実行することだけです:
choco install docker
choco install docker-compose
補足:WindowsでDockerを実行するためにBoot2Dockerはもう必要ありません- Dockerはしばらくの間、Windows をネイティブでサポートします。したがって、それはもう必要ありません。
https://github.com/docker/compose/releases/tag/1.5.0rc 「Windowsで作成できるようになりました。」
これは、Composeをboot2docker
内にインストールするための私の答えです。誰かがコンテナ内からホストのDockerホストに対してComposeを実行するというVonCの提案を楽しみたい場合、Composeのガイドラインに従い、インストールと実行が簡単なジャーニーマン developerのcontainer を作成しました。
WindowsにBourne Shellのような環境がある場合は、次を実行できます。
curl -L https://git.io/vuEqk -o /usr/local/bin/room
chmod +x /usr/local/bin/room
任意のパスでコンテナを起動し、そこから実行することができます:
room
オプションでコマンド引数を渡すことができるので、Compose構成ファイルがある作業ディレクトリにいる場合、すべてを起動して実行するにはこれで十分です。
room docker-compose up
サポートしているシェル環境がない場合、Git Bashプロンプトを含むWindows用Gitディストリビューションのいずれかをインストールするだけで十分です。または、 MinGW または Cygwin 。そうでない場合は、いつでもDockerマシンにSSH接続してインストールできます。