概要
今はやりのdockerの何がいいのかさっぱりわからなかったので
実際に触ってみることにしました
インストール
サーバーを用意するのはめんどくさいので
Boot2Dcoker(軽量版のlinux)でおこないます
まず公式サイトからexeをインストールする
https://docs.docker.com/installation/windows/
公式のページの
installationのDocker for Windows Installerを選択する
インストールexeをダウンロードして起動する
保存するフォルダを選択する
Boot2Dcoker(軽量版のlinux)
→ 本体なので必ずチェックする
VirtualBox
→ 本家から落としたほうがいいと思うのではずした
msysgit (Git for Windows)
→ gitを使うのでチェックした
スタートメニューのフォルダをきかれたがそのままにした
Create a dektop icon
→(ディスクトップにアイコンはあっても困らないのでチェックした
Add Boot2docker.exe to PATH
→ pathに追加しないと後々困りそうなので追加
Reboot Windows at the end of installation
→ インストールした後にリブートは必要ないのではずした
確認画面が表示されてインストールが開始される
終了するとディスクトップにアイコンができます
クリックするコマンドプロンプトが起動してdockerが起動されるっぽい・・・
がすぐに閉じてしまいました
VirtualBoxを起動すると下記の画面が表示されている
できている!!ので
起動してみると下記のエラーが表示された
Unable to boot please use a kernel appropriate for your CPU
調べてみると
http://acball.hatenablog.com/entry/2013/11/05/205712
BIOSの設定で仮想化機能が有効になっていなかった
再起動してbiosの画面で
CPU Configuration > Intel(R) VirtualizationTechnology > [Enabled](有効)
にした
再起動後にもう1度ディスクトップのアイコンをクリックすると
成功しました!!
コンテナの起動と停止
実際にコンテナを実行してみました
やり方は公式サイトにのってhello-worldです
docker run hello-world Unable to find image 'hello-world:latest' locally 511136ea3c5a: Pull complete 31cbccb51277: Pull complete e45a5af57b00: Pull complete
作成されたっぽいのイメージ一覧とコンテナ一覧を表示してみた
#イメージ一覧 docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest e45a5af57b00 7 weeks ago 910 B #コンテナ一覧(停止も含む) docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3eb6a563fece hello-world:latest "/hello" 2 minutes ago Exited (0) 2 minutes ago mad_hawking 4454a3cb73b4 e6e107787eec "apache2-foreground" About an hour ago Exited (0) 4 minutes ago sharp_turing
これだと、文字がでているだけで実感がわかなかったので
php5.5のインストールをしました
Docker Hubにある5.5-apacheのイメージを使って
php5.5をインストールする
そして、いつもの phpinfo()を出力したいと思います
#phpinfoを表示させるソースを用意 cd /Users/path/to/ sudo vi index.php
<!--?php phpinfo(); ?-->
#php5.5のイメージから作成する docker run -v /Users/path/to:/var/www/html -p 8085:80 -d php:5.5-apache #作ったコンテナの/var/www/htmlが/Users/path/toとして認識されているっぽい・・・・ Unable to find image 'php:5.5-apache' locally 8771fbfe935c: Pull complete 0e30e84e9513: Pull complete f4da5c72c7c4: Pull complete c44336edc44a: Pull complete f41f85636a49: Pull complete 80ed240e7a90: Pull complete 2e0595b433b7: Pull complete 1ac5dbe88bf8: Pull complete 17d576ec126e: Pull complete 653fcb6562e1: Pull complete d89dffe5c20a: Pull complete b0e88117edfe: Pull complete 8b31bff10801: Pull complete 4f826ea1872d: Pull complete df63234f1c70: Pull complete 2dab4203dd9e: Pull complete d390e082f782: Pull complete 16f234800ec1: Pull complete 429ca19ed000: Pull complete 16ab7549f854: Pull complete e6e107787eec: Pull complete 511136ea3c5a: Already exists php:5.5-apache: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security. Status: Downloaded newer image for php:5.5-apache fffdf1f0d0dadb4dd032786e4d090642ff400ae8984aeb722f291cdfc7056795
ブラウザでアクセスすると
認識されました!!
便利ですね!!簡単なテストならこれでいいかも
今回作ったコンテナはテスト用なので削除します
削除するにはコンテナをストップさせて、イメージを削除するみたいです
#コンテナ一覧を表示(動いているもの) docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fffdf1f0d0da php:5.5-apache "apache2-foreground" 10 minutes ago Up 10 minutes 0.0.0.0:8085->80/tcp adoring_pare #上記のコンテナIDをもとに削除する docker stop fffdf1f0d0da #コンテナ一覧を表示(動いているもの) docker ps #表示されないことを確認する #イメージの削除するために現在のimageリストを表示する docker image docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE php 5.5-apache e6e107787eec 8 hours ago 431.3 MB hello-world latest e45a5af57b00 7 weeks ago 910 B #hello-worldとphpがあることが確認できました #この一覧で表示されているIMAGE IDをもとに削除します #PHPの削除 docker rmi -f e6e107787eec Untagged: php:5.5-apache Deleted: e6e107787eec500867e4923d10899dd51548c07724bde0a109b9a219dbbac715 Deleted: 16ab7549f854ee1e57c6b69a1502889cbe7f9549312df0d7c5e0411b17375776 Deleted: 429ca19ed0003ce02a020523cdd69ec3e91934fbfd8576ffdba1c264adb8bae0 Deleted: 16f234800ec133a04ebb254156695971b83ab5f7467a2c446edf85c2c94e6e98 Deleted: d390e082f78218a05f92cc7fdd0c3c7f80b1189eb344ac5edac7edd4032e6c5f Deleted: 2dab4203dd9e9d1c0d0aba59612899fb8795a7568ad7c238f1cfa2304c5dde06 Deleted: df63234f1c70f8998d7f1a85868b59b5dbd9c5d92661ecf08ad2b14c689b2aba Deleted: 4f826ea1872ddcf4eab7bab84ac9cb6682b539285e0c8a3ff96bd7a53cfc143b Deleted: 8b31bff10801ccd59cf6089fcfbac72b2bb4c2d531dd0f7f292691dfdca47592 Deleted: b0e88117edfe9f2538b730cd95a401262aab5ef5234d0ea566dfde990e766a37 Deleted: d89dffe5c20ab578d10de2ac42264f1a04aa3950615229af96021737a911c0f6 Deleted: 653fcb6562e1b6d6ceafa77149531f399694b9000cafe0ef3fd8625a6cfb814c Deleted: 17d576ec126ebe6921cc1b68445548d9d4e98d21232e8b8e3622df3a2dcd9986 Deleted: 1ac5dbe88bf8c275e2442bca8e129453cad88b06f901e478781c0b8baff1a342 Deleted: 2e0595b433b724bcbc5d020faa3bf1127c8ffbb43e47ab457ea6cfcfb39a1a54 Deleted: 80ed240e7a90b7db41b4e6ebda6f92a8b5f41ce361be8c774ad7a983c237e69f Deleted: f41f85636a49f9e76ea0b51306fbadf63d5bd0c6825313aaccc9199b9d491a9f Deleted: c44336edc44a6f6912846ba9480a011e3bee967155587d75db9e9b62e5632721 Deleted: f4da5c72c7c46dcc3907d8c56295fa4712ad6ceb2215889f12b148a14ae5db9e Deleted: 0e30e84e9513cb3d9d991389adfb77ac6afc9d75a5234e3d61af2f080c75d0ce Deleted: 8771fbfe935cde12b40418e029cdb68adff76d740eddb72fc6c811b1b4c16a3e #hello worldの削除 docker rmi -f e45a5af57b00 Untagged: hello-world:latest Deleted: e45a5af57b00862e5ef5782a9925979a02ba2b12dff832fd0991335f4a11e5c5 Deleted: 31cbccb51277105ba3ae35ce33c22b69c9e3f1002e76e4c736a2e8ebff9d7b5d Deleted: 511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158 #削除されているのか一覧で表示してみました docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE