LoginSignup
39

More than 5 years have passed since last update.

Docker for Windows(beta)に関するメモ

Last updated at Posted at 2016-04-11

概要

Docker for Windows (beta)のセットアップや、基本的な使い方に関するメモ書き。現時点では機能評価用であり、今すぐ既存の Docker Toolbox に置き換わるものではない。なお、内容はDocker for Windows に興味を持っている方向け。

Docker for Windows とは?

3月末に Docker プロジェクトから Docker for Mac と Windows が発表 された。現時点では目下開発中であり 登録者 向けのプライベート・ベータの位置付け。

Mac 版と Windows 版では別々に開発が進んでおり、内部実装も異なる(Mac は xhyve を使うのに対して、Win では Hyper-V / Win10 が前提)。現時点では Mac 版のほうが機能が先行しており、それを Win 版が追っている状況。Blog の投稿によると、将来的には Win 版の機能も追いつく模様。

セットアップ方法

動作条件

Win 版は Hyper-V を使うため、Windows 10 Education 以上が動作する環境が必須。

事前申請

Private Beta 扱いのため、オンライン上( https://beta.docker.com/ )でサインアップが必要。暫く待つと「Docker Private Beta」という件名でメールが届く。メールには、以下の情報が記載。

  • バイナリのダウンロード先
  • invitation code(インストール時に必要になるトークン)

ダウンロード先から Docker.msi をダウンロードする。

セットアップ手順

ダウンロードした Docker.msi をクリックすると、インストーラが起動する。まずライセンスを確認・同意後、トークンの入力が必要になる。ここで先ほどのメールに届いた Invitation Code を入力する。

スクリーンショット 2016-04-09 18.00.21.png

Hyper-V の有効化

コントロールパネル -> プログラムと機能 -> Windows の機能の有効化または無効化 で開いたダイアログの Hyper-V にチェックを入れて OK を押す。

使い方

インストールすると、タスクトレイ上に鯨マークのアイコンが常駐する。設定変更等やログ設定は、このアイコンを右クリックして各種メニューを表示する。右クリックから Settings... を選ぶと、基本設定が表示される。特に、デフォルトでは Windows ログイン時に毎回自動起動してしまうため、常時使わないのであれば Automatically start Docker when you log in は外したほうが無難。

スクリーンショット 2016-04-09 19.06.05.png

インストール直後、あるいはデスクトップ上に Docker アイコンができてるので、これをクリックすると自動的に Hyper-V 上に仮想マシンを作成する。また、Docker クライアントは自動的にこの仮想マシン上の Docker エンジンに対してアクセスできるようになる。

docker クライアントからの操作は通常、PowerShell または Cygwin 上から操作可能。 docker version コマンドを実行すると、クライアントとサーバ側(Hyper-V)の情報を表示する。

PS C:\Users\zembutsu> docker version
Client:
 Version:      1.11.0-rc3
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   eabf97a
 Built:        Fri Apr  1 23:33:49 2016
 OS/Arch:      windows/amd64

Server:
 Version:      1.11.0-rc3
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   eabf97a
 Built:        Fri Apr  1 23:33:49 2016
 OS/Arch:      linux/amd64

あとは、通常通りコンテナの起動等が可能。たとえば Nginx コンテナを起動し、ポート 80 を開くには、次のように実行。

PS C:\Users\zembutsu> docker run -itd -p 80:80 nginx
a7001a75a4183a4c3703a634ed3d3558377f75aa9135156c0cb1ff008353d53b
PS C:\Users\zembutsu> docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS
               NAMES
a7001a75a418        nginx               "nginx -g 'daemon off"   3 seconds ago       Up 2 seconds        0.0.0.0:80->80/
tcp, 443/tcp   elated_newton

この時 -p [ホスト側:コンテナ側] でポートをマッピングしていると、Docker 環境を http://docker/ として名前解決できるようになる。ブラウザ上で http://docker[:port] を開くと、Nginx の画面が表示される。

docker-host.png

※ Docker for Mac の場合は http://docker.local/ で名前解決する。

現状の課題

  • フォーラムに上がっている問題 のいくつかは、自分の環境でも発生している(タイムアウトやボリュームに関して)。

  • 操作は PowerShell 上で行う。

  • クライアントがバージョンアップするので注意

    • Docker Client (1.10.0-rc3)
    • Compose (1.7.0rc1)

やはり、今すぐ開発に使うというよりは、評価用の扱い。普通に使うのであれば、まだ当面は Docker Machine を使った方が安全では。

参考情報

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39