web-dev-qa-db-ja.com

docker-composeをWindowsにインストールする方法

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をインストールできますか?

33
Chris

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する必要はないという強い意見があります。

11
Ross Ivantsiv

Pipを使用してWindowsにdocker-composeをインストールできます。

pip install -U docker-compose
6
Peter

Windows版のBoot2Dockerにはネイティブサポートがまだ追加されていないようです。

とりあえず、以前はfigで行ったことと同じようにdocker-composeを使用できます: それをdocker containerとして実行

5
fayndee

boot2dockerバージョン> = 1.7.064ビットのユーザー空間 。これは、 そのgithubリポジトリ から事前にビルドされたバイナリがそのまま動作することを意味します。

VonCの上記の回答 の情報を使用して、最新バージョン(または特定のバージョン、コードのコメント部分を参照)をダウンロードし、それを保持するスクリプトを記述しました。ファイルは1回だけダウンロードされますが、boot2dockerを起動するたびにパスに配置されます。

手順:

  1. boot2docker ssh任意の端末から。
  2. スクリプトを貼り付けて、Enterキーを押します。
  3. exitを実行してからboot2docker restart && boot2docker sshを実行します
  4. ボックスが再起動したら、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
5
D. Josefsson

githubのこの問題 の後に成功しました

  • install docker-machine ;
  • install python (3.4.3は正常に機能しました)
  • install pip ;
  • pip ...の後、このコマンドを実行してdocker-composeをインストールします。

    `pip install git+git://github.com/docker/compose.git`
    

信じられない? この証明を見る

4
Thiago Martins

物事は進歩しており、最近、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ファイルはそれほど混乱しません。

4
CashIsClay

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 をネイティブでサポートします。したがって、それはもう必要ありません。

3
jonashackt

https://github.com/docker/compose/releases/tag/1.5.0rc 「Windowsで作成できるようになりました。」

3
FDisk

これは、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接続してインストールできます。

2