Windowsでdocker composeを起動する

Docker-composeは、アプリケーションで必要なサービススタック全体に単一の構成ファイルを使用して、複数のコンテナーを同時に実行できるユーティリティです。 たとえば、このような状況:node.js webappを実行します。これにはmongodbが必要です。composeはwebapp(従来のDockerfile)でコンテナーを構築し、起動する前にmongodbでコンテナーを起動します。 それらを互いにリンクすることもできます。 これは、開発とアプリケーション自体のCIの両方で非常に便利です。 このOSの公式サポートがまだないため、Windowsユーザーはこのような便利なツールを使用する機会を奪われました。 また、Windowsコンソールの制限により、* nixのpythonバージョンはwindows cmd環境では機能しません。



docker-composeを実行するには、Babunコンソールシェルを使用できます。 これは、いわば「ポンピングされた」cygwinのフォークです。



したがって、Windowsでbabunコンソールからdocker-composeを起動するためのレシピは次のとおりです。



1. ダウンロード (〜280MB!)そしてbabun自体をインストールします。このシェルの詳細については、そのホームページbabun.github.ioをご覧ください

2.アーカイブを解凍します(インストール後、結果のフォルダーは削除できます)

3. install.batファイルを実行し、インストールが完了するのを待ちます。

4.開いたbabunウィンドウで、次のコマンドを入力します。



babun update
      
      





そして、最新バージョンのシェルがあることを確認してください(さらに、すべてのコマンドはbabunシェル内でのみ実行されます)

5.デフォルトのシェルbabunが気に入らない場合(zshを使用)、bashに変更できます。 これを行うには、次を入力します。



 babun shell /bin/bash
      
      





6.次に、docker-composeにはあまりないPythonの依存関係をインストールする必要があります。 これを行うには、次のコマンドを順番に実行します。



 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
      
      





7.これで、docker-compose自体をインストールする準備ができました。



 pip install -U docker-compose
      
      





すべてがうまくいけば、以下が表示されます。



 { ~ } » docker-compose --version docker-compose 1.2.0
      
      





エラー、python fcntlエラー、またはdocker-composeファイルが見つからないというメッセージが表示された場合は、/ usr / local / bin、/ usr / sbinなどのフォルダーでdocker-composeファイルを見つけて、/ bin /へのシンボリックリンクを作成できます。 または、不足しているパスをシステムPATHに追加します。



docker-composeが正常に動作するには、docker-machineまたはboot2dockerを操作するための設定済みのコンソール環境が必要です。また、dockerクライアント自体がシステムPATHで利用可能である必要があります。 公式ドキュメントには、 dockerdocker-machineの 概要とそれらの操作方法完全に記載されています。



docker-machineで実行されているDockerホストの環境に入るには、次の手順を実行する必要があります。



 eval "$(docker-machine env _)"
      
      





または、boot2dockerでも同じです。



 eval "$(boot2docker shellinit)"
      
      





ドッカークライアントが次のように機能していることを確認できます。



 docker ps
      
      





コンテナのリストまたはテーブルヘッダーだけを取得すれば、すべて問題ありません!



 docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      
      





アプリケーションスタックを開始するには、アプリケーションのディレクトリに移動します。このディレクトリには、既にdocker-compose.ymlまたはfig.ymlファイルが準備されているはずです。 ここでは、ymlファイルの構文について説明します



次に、実行するには、次のコマンドを入力します。



 docker-compose up
      
      





バックグラウンドで実行する必要がある場合は、-dを追加します。 Composeは希望するイメージをビルドし、docker-compose.ymlファイルに従って実行します。



以上です。



ご清聴ありがとうございました。役に立てば幸いです。



ps私は意図的にコンテナとして構成を実行するオプションについて話しませんでした、なぜなら 不快だと思います。



All Articles