Docker

【初めてのDocker①】boot2docker を Windows 7 にインストール

2014年9月7日

今、急速に盛り上がりを見せている、Linux 環境で使用できる仮想化環境の Docker を試してみます。

Docker のインストール

1) 以下よりダウンロード

Releases · boot2docker/windows-installer

2)ダウンロードしたファイルを実行

インストーラーのデフォルト設定だけでOKです。
ここでは後で問題が起きた時のために、個人的なメモ代わりにキャプチャーを貼り付けています。

image

image
インストールはデフォルトで、”Program Files” の下と・・・

image
Oracle の Virtual Box が入ると・・
VMware Workstation も入っているけど大丈夫かな・・・

image
ショートカット名は、デフォルトで”Docker”。

image

image

image
Windows のセキュリティの警告がでます。そのままインストールします。
複数回問われるので、「Oracle Corporationからのソフトウェアを常に信頼する」のチェックを入れておいた方がいいです。

image
以上で終了です。

インストールの確認

image
デスクトップになにやらアイコンができたので、起動してみます。

image
数分かかりますが、最終的にプロンプトが表示されます。
どうやらこれが Docker のコンテナをホストしている Linux のようです。

環境が正しくインストールされたかどうか確認するには以下のコマンドを打ちます。
(これはインストーラーの最後の画面に表示されていました)

$docker run hello-world

実際に実行してみると以下のようになります。
①の所でコマンドを打っています。

image

②の部分の所で、

Hello form Docker (Dockerからこんにちは)
This message shows that your installation apperars to be working correctly.(このメッセージは、インストールが上手くいって正しく動作している事を示しています)

と出ているので、多分、上手くインストールされているようです。

③の部分で、

$docker run –it ubuntu bash

を打つと、Ubunt のコンテナを走らせる事ができる。と書いてあります。
とりあえずそのまま打ってみます。

image

何やらダウンロードしてきました。
それでけでは無く、コマンドを打つ前と、コマンドプロンプトのフォーマットが変わっています。
どうやら Ubuntu の bash に切り替わっているようです。

Ubuntu に触った事がないので、どうやって確認しようかなと思ったら、/etc/os-release に書いているようです。どうやら本当に Ubuntu にログインしているようです。

image

exit で元の docker のコマンドプロンプトに戻りました。

image

とりあえず Hello World 等をしてみる。

ユーザーガイドの以下のページを見ながら、Ubuntuのコンテナを使って、echo で、”Hello World” を実行してみます。
Dockerizing Applications - Docker Documentation

$ docker run ubuntu:14.04 /bin/echo “Hello World”

実際の実行時はコマンドプロンプトは以下のようになるはずです。
ubuntu 14.04 のコンテナが無いので、まずダウンロードしに行ってから、最後に “Hello World” が実行されているのがわかります。

image

2回目に同じコマンドを実行する場合は、既に Ubuntu 14.04 のコンテナがあるので、以下のようになるはずです。image

次に以下のコマンドを打ってみます。

$ sudo docker run -t -i ubuntu:14.04 /bin/bash

ここで - t は、コンテナ内部に作られる仮想の tty もしくはターミナルをアサインする。
-i は、インタラクティブの –i だそうです。

ようするに、コンテナを起動してターミナル接続が可能になります。最後の /bin/bash は、接続した後、bash 環境を作ります。別に指定しなくても大丈夫です(英語のユーザーガイドのコマンドがそうなっていたのでそのまま書いています)。

実際にやってみると以下のようになるはずです。ターミナルを抜ける時は exit で抜けます。image

個人的に「へぇ。そうなんだ」と思ったのは、exit で抜けた瞬間にコンテナが終了している事です。

Docker の動いているコンテナは以下のコマンドで確認できるそうでが、上記で exit した瞬間だと何も動いているコンテナが確認できませんでした。

$ sudo docker ps

おまけ:boot2docker 用の コンソールが使いにくいので ssh でログインしてみる

boot2docker のコンソールはコピペができず使いにくいので、代わりに Telenet ソフトでログインしてみます。
boot2docker のコンソールで、「ifconfig」を実行すると、インターフェイスの一覧が出てきます。

幾つかネットワーク・インターフェイスがあるので、ホスト(ここでは WIndows 7) のコマンドプロンプトから ping を打って、返ってくるアドレスを見つけます。ここでは eth1 が繋がっていました。

image

後は、ssh ができるソフトから

ホスト: ping が返ってきたアドレス
ユーザーID : docker
パスワード:tcuser

でログインできます。以下は私の環境の例です。

image

無事 ssh クライアントで、boot2docker ( docker のホスト)にログインできました。

image

-Docker

Copyright© エンジニアの何でもメモ帳 , 2024 All Rights Reserved.