Docker for Windowsを試してみた
Dockerんと景気よくやってみた
3月末にニュースで知って登録していたDocker Private Beta、すっかり忘れていたけれどもGW中にメールが来ていた。
何が違うの
以下、公式より抜粋
Docker for Mac and Docker for Windows are faster, more reliable alternatives to Docker Toolbox for running Docker on these platforms. Here are some highlights of the new products.
- Faster and more reliable - No more VirtualBox! On Mac, the Docker Engine runs in an xhyve Virtual Machine (VM) on top of an Alpine Linux distribution. The VM is managed by the native Docker application. On Windows, the Docker Engine is running in a Hyper-V VM. You do not need Docker Machine (docker-machine) to run Docker for Mac and Docker for Windows.
https://beta.docker.com/docs/features-overview/
VirtualBox使わなくてよくなったぜ!
というのがウリ
インストール
ということで、インストールしてみた。
なお、2016/5/10時点はBETA版なので登録後にメールで送られてくるトークンがないと使えません。
上記でダウンロードしたインストーラを実行して普通にインストール。
こんなにかわいいアイコンができます。
起動すると、「Hyper-Vが必要だから有効にするかい?」と聞いてくるので「Install & Restart」で有効化して再起動。
今度はメールのトークンを入力して「Submit」
起動しました。
タスクバーの通知エリアにDocker美(仮名)が。
Docker美を右クリックでメニューがでる。
試してみた
インストールしたので何かしてみる。なお、今回はGitのbashで試す。
OS | Windows10 10.0.10586 |
bash | Git version 2.8.0 |
CLIを試す。Docker for Windowsにはdocker-composeとdocker-machineも含まれている。
- docker
$ docker version Client: Version: 1.11.1 API version: 1.23 Go version: go1.5.4 Git commit: 5604cbe Built: Wed Apr 27 00:34:20 2016 OS/Arch: windows/amd64 Server: Version: 1.11.1 API version: 1.23 Go version: go1.5.4 Git commit: 8b63c77 Built: Fri Apr 29 14:13:26 2016 OS/Arch: linux/amd64
go-lang製だ
- docker-compose
$ docker-compose version docker-compose version 1.7.0, build 0d7bf73 docker-py version: 1.8.0 CPython version: 2.7.11 OpenSSL version: OpenSSL 1.0.2d 9 Jul 2015
python製だ
- docker-machine
$ docker-machine version docker-machine.exe version 0.7.0, build a650a40
Windowsネイティブなのかな?
チュートリアルにしたがって何かしてみる。
$ docker run ubuntu /bin/echo 'Hello world' Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu 6d28225f8d96: Pull complete ================================================>] 48.35 MB/48.35 MBB 166102ec41af: Pull complete ================================================>] 755 B/755 BB d09bfba2bd6a: Pull complete ================================================>] 519 B/519 BB c80dad39a6c0: Pull complete ================================================>] 677 B/677 BB a3ed95caeb02: Pull complete ================================================>] 32 B/32 BB Digest: sha256:5718d664299eb1db14d87db7bfa6945b28879a67b74f36da3e34f5914866b71c Status: Downloaded newer image for ubuntu:latest C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: Container command 'C:/MyApp/Git/usr/bin/echo' not found or does not exist..
突然のエラー!
実はこれはGit bashのせい。"/bin/echo"を自分のコマンドと勘違いしているだけ。adbの時にハマったやつ。
ということで、スラッシュで始まるパス文字列の先頭にスラッシュをつけると回避できる。
$ docker run ubuntu //bin/echo 'Hello world' Hello world
ハローワールド
$ docker run -t -i ubuntu //bin/bash root@001eda79ed21:/# pwd / root@001eda79ed21:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@001eda79ed21:/# uname -a Linux 001eda79ed21 4.4.6-moby #1 SMP Fri Apr 29 14:12:19 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux root@001eda79ed21:/#
コンテナ上でbash起動
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 001eda79ed21 ubuntu "//bin/bash" 39 seconds ago Up 36 seconds compassionate_bell
bash起動中のコンテナ確認
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest c5f1cf30c96b 5 days ago 120.8 MB
イメージも普通に見えている
とりあえず簡単に触っただけであるけれども、Linux上にインストールしたのと変わらない。ボリュームのマウントとかポート転送とかはBETA版なので色々とありそうだけれども、とりあえずは普通に使えて父さん感動しました。
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: WINGSプロジェクト阿佐志保
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/19
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
Docker 実践ガイド (impress top gear)
- 作者: 古賀政純
- 出版社/メーカー: インプレス
- 発売日: 2015/12/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る