dockerの使い方

dockerとは?

読み方は「ドッカ−」。
コンテナ仮想化ツールです。

 

コンテナ

 

仮想化環境の一歩進んだ考え方で、サービスを「コンテナ」という単位に切り分けて仮想化するんですね。

 

ひらたく言うと、システム構築を効率的に行うのに役立つツールですが…

 

開発者にとっては、
開発環境(テスト環境)がコマンド一発で作れるという便利ツール、と考えておけばよいでしょう。

 

「イメージ」と呼ばれるインストールCDのようなファイルを指定して、dokerコマンドを実行すると…

 

docker起動

 

ローカル環境でCentOS(Linux)が起動する!
ローカル環境でapache(Webサーバ)が起動する!
ローカル環境でMySQL(データベース)が起動する!

 

つまり…
コマンド一発で、
ローカル環境で自分専用の開発環境が起動する!

 

dockerの元になるイメージファイルを変更していくことで、

 

開発メンバー100人分の開発環境を、統一した状態に保てる。

 

んですね。こんなラクなことはないです。

 

ひとまず「開発でdockerを使う」というのは、上記のようなことだと考えておくと良いでしょう。

 

dockerのダウンロード

パソコンですぐ動くので、まずは使ってみましょう。

 

ダウンロードには、docker公式サイトへのアカウント登録が必要になります。

 

 

ID、メールアドレス、パスワードを入力しましょう。入力し終わったら、その下にチェックをつけて、Sign Upをクリック。
ログイン情報

 

本人確認用のメールが送られてきます。
私が試した時は、メールがくるまでけっこう時間がかかりました。

 

件名「Please confirm email for your docker ID」でメールが来るので、迷惑メールフォルダなどに振り分けられていないか確認しましょう。

 

メール本文中の「Confirm Your Email」をクリックで、本人確認が完了します。
本人確認メール

 

ダウンロードページを開いてみましょう。

 

Windows10なら、docker Desktopをダウンロード。

 

それ以前のWindowsなら、docker Toolboxを使います。

 

ダウンロードページ右上に注目。

 

ダウンロードページ

 

Please Login To Downloadボタンをクリックしましょう。

 

Please Login To Download

 

ログイン画面が表示されるので、登録したIDとパスワードでログインします。
Sign in

 

ダウンロードページの右上の表示が「Get docker」に変わるので、クリック。

 

Get docker

 

インストール用ファイルがダウンロードされるので、ダブルクリックして実行します。

 

Windows10以前の古いWindowsの場合は、docker Toolboxを使います。ダウンロードページはこちら。

 

docker Toolbox overview | docker Documentation

 

「Get docker Toolbox for Windows」をクリックして、インストールファイルをダウンロードします。
dockerの使い方

dockerのインストール

私は、自宅でWindows7の古いパソコンを使っているので、Windows7、docker ToolBox使用を前提に説明を続けます。

 

まず、「仮想化支援機能をオンにする」という設定が必要。

 

BIOS画面にて設定します。BIOS画面は、パソコン起動時にF2を連打していると表示される、青い設定画面のこと。

 

機種によって表示は異なるのですが、私の使用するDELL PRECISION 390だと、こんな画面。
Virtualization

 

Performance → Virtualization という項目の中にありました。デフォルトだとOFFになっているので、Onにして再起動。

 

BIOSを抜けるときに「設定を保存して終了」しないと、OnにしたはずがOffに戻ってた?ということもあるので注意です。

 

パソコンを起動したら、docker Toolboxをインストールします。

 

docker Toolbox

 

インストールは基本的に、「Next」ボタンを連打、最後に「Install」ボタンをクリックすれば完了します。

 

スタートメニューに以下の2つが追加されます。
スタートメニュー

 

  • docker Quickstart Terminal
  • Kitematic (Alpha)

 

docker Quickstart Terminalは、コマンドを打ち込むターミナル。
Kitematicは、GUIです。画面をクリックで色々できます。

 

Kitematicを起動します。

 

かなり時間がかかって、「Connect to docker Hub」という画面が出てくれば成功。

 

Connect to docker Hub

 

だけど、私はここに辿り着くまで何度も何度も失敗しました。

 

We're Sorryで長いエラーが出て失敗する

エラー
読む気がなくなるほど、長いエラー。スクロールして、下の方を見てみると…

 

「This computer doesn't have VT-X/AMD-v enabled.Enabling it in the BIOS is mandatory」
というメッセージ。
エラーメッセージ

 

何のこっちゃという感じですが、意味は「仮想化支援機能が無効になっています。BIOSで有効になっていることが必須。」という意味。

 

BIOSで、Virtualization(仮想化支援機能)が無効になっているとこのエラーが出ます。

 

なお、Windows10では、OSの機能のHyper-Vが競合してこのエラーが出ることがあります。

 

コントロールパネル→プログラムと機能で、画面左の「Windowsの機能の有効化または無効化」をクリックし、Hyper-Vを無効にしてください。

Setup Initializationでエラー

Setup Initialization
Windows10以前を使っていると出るエラー。

 

USE VIRTUALBOX

 

USE VIRTUALBOXをクリックします。

Kitematicがずっと待ち状態で画面が出てこない

いろいろいじってると、Kitematicで何の画面も出てこなくなることがあります。

 

ずっと待ち状態で、10分待っても変化なしという場合。

 

原因は「dockerが中途半端にインストールされて、にっちもさっちもいかなくなった」です。

 

この場合は、ターミナルを使って、dockerをいったん削除します。

 

スタートメニューから、docker→docker Quickstart Terminalを選択します。
スタートメニュー

 

色々エラーが出ると思いますが、待っていると「$」が表示されて、入力できる状態になります。

 

ターミナル

 

そこで、
docker-machine rm default
を実行。
デフォルトのdockerを削除するというコマンドです。
Are you sure?(y/n)
と出るので、yを入力。

 

ちなみに、
docker-machine ls
で、現在作られているdockerの一覧が見られます。

 

おかしな状態になったら、いったんdockerを削除してKitematicを起動しなおすと、あっさりうまくいくと思います。

 

docker-hubにログイン

Connect to docker Hub

 

この画面で、登録したIDとパスワードを入力します。

 

ここに出ているのが、docker-hubというクラウド上にある、dockerイメージです。

 

この画面が出てきたら、ログイン成功。
dockerログイン

 

実際に、コンテナを作って動かしてみましょう。

dockerでコンテナを操作する

dockerでコンテナを作ってみましょう。

 

Kitematicで、「hello-world-nginx」というイメージを探し、CREATEをクリックします。
hello-world-nginx

 

nginx(エンジンエックス)は、ロシア製のWebサーバで、高負荷に強いとされています。
このイメージは、nginx上で、簡単なテキストを表示するデモです。

 

コンテナインストールの進捗が表示されます。
インストール中

 

100%近くで表示が止まったりして不安になりますが、落ち着いて待ちましょう。

 

nginx

 

とてもあっけないのですが、これでもあなたのパソコンのローカル環境でnginxが稼働しています。

 

試してみましょう。

 

画面右上の「WEB PREVIEW」のところをクリック。
Web preview

 

ウェブブラウザ(Chromeやインターネットエクスプローラなど)が起動し、以下のページが表示されます。

 

hello nginx 表示

 

URLの表示は、
http://192.168.99.100:32768/
となっています。

 

仮想サーバが、192.168.99.100で起動していて、ポート32768版でウェブサービスが起動しているんですね。

 

これだけだとピンとこないので、表示内容を変えてみます。

 

website_files

 

画面右下の「VOLUMES」の /website_filesをクリックします。

 

Enable all volumes to edit files?
Enable all volumes to edit files? (全てのボリュームで編集を可能にしますか?)と聞かれるので、Enable Volumesをクリック。

 

エクスプローラが開き、/website_filesフォルダが表示されます。
website_filesフォルダ

 

ファイルのパスはココ。
パス

 

パソコンのマイドキュメント以下のフォルダが、dockerの仮想環境にマウントされたような形になっています。

 

/website_files以下にあるindex.htmlの内容を、「ハローワールド!」に書き換えます。
ハローワールド

 

エディタなどで開いて、書き換えた後保存してください。

 

再び、「WEB PREVIEW」をクリックしてみると…?
Web preview

 

ウェブブラウザに「ハローワールド!」と表示されました。
ハローワールド!

 

パソコン版dockerでKitematicを使ってて素晴らしいのは…

 

マウントする、とか、ポート番号を指定する、とか、初心者がつまづくような箇所を、すべてフィーリングでクリア出来てしまう点です。

 

コンテナを停止する

停止

 

Katematicの「STOP」をクリックで、コンテナは停止します。

 

停止するとSTOPだった箇所が「START」に変わるので、STARTをクリックで再度起動します。

 

コンテナを削除する

コンテナ削除
コンテナを停止後、コンテナ名の右の「x」をクリックします。
※コンテナ名のところにカーソルを持って行くと、「x」マークが現れます。

 

本当に削除するか聞かれるので「Remove」をクリック。
Container Remove

 

これで、コンテナが削除されました。