orangeitems’s diary

クラウドではたらくエンジニアの日々の感想です。

Docker for Windows をインストールしCentOSを起動するまでの手順をまとめる

f:id:orangeitems:20180618153248p:plain

目的

Docker for Windows(現時点の最新は10.05.0-ce-win67(18263))をWindows 10にインストールして、CentOSを起動するまでの手順をまとめます。

 

事前準備

事前に、Docker公式サイトにて、Docker IDというアカウントを取得する必要があります。

以下のURLからサインアップを行いアカウントを作成してください。

https://store.docker.com/signup

アカウントを作成できたら、「手順」に進みます。

 

インストール~初回起動まで

Docker for Windows インストーラーをダウンロードする

Dockerの公式サイトからインストーラーをダウンロードします。以下のURLを開きます。

https://www.docker.com/docker-windows

 

「DOWNLOAD FROM DOCKER STORE」というボタンをクリックします。

f:id:orangeitems:20180618125927p:plain

 

「Please Login To Download」をクリックします。

f:id:orangeitems:20180618130433p:plain

 

ログイン画面が出ますので、「前提条件」にて取得したID/Passwordを入力してください。

f:id:orangeitems:20180618130516p:plain

 

「Get Docker」というボタンをクリックしてください。

f:id:orangeitems:20180618130643p:plain

 

これで「Docker for Windows Installer.exe」ファイルがダウンロードできます。ファイルは1つだけです。

以上でPCへのダウンロードまでが完了です。

  

PCへのインストール

次はインストールを行います。ダウンロードした「Docker for Windows Installer.exe」ファイルを、エクスプローラーから実行してください。

f:id:orangeitems:20180618131341p:plain

 

「このアプリがデバイスに変更を加えることを許可しますか?」というメッセージが出ましたら「はい」をクリックしてください。

 

ダウンロードが完了すると、下記の画面が出ます。そのまま「OK」を押してください。

f:id:orangeitems:20180618131551p:plain

※「Use Windows containers...]の行にはチェックボックスが付いていません。これはコンテナでWindowsを動かす場合のオプションです。今回はCentOSを動かしたいのでこのチェックボックスは不要です。

 

インストールが始まります。しばらく待機してください。

f:id:orangeitems:20180618131829p:plain

 

完了しましたら下記の画面が出ます。Closeを押して完了してください。

f:id:orangeitems:20180618131925p:plain

 

以上でインストールは完了です。

  

Docker for Windowsの初回起動

さて、インストールが完了しましたので次はいよいよ起動します。

デスクトップ上にある「Docker for Windows」のアイコンをダブルクリックし起動してください。

 

初回起動時に以下のポップアップが出るかもしれません。これは、今のPCではHyper-Vとコンテナ機能が有効になっていないためです。このまま「OK」を押し、有効にしましょう。なお、OSの再起動が走るとともにその後VirtualBoxが動作しなくなりますのでご注意ください。

f:id:orangeitems:20180618132308p:plain

 

なおOKを押した後はバックグラウンドでWindows Installerが動きます。見た目上反応がないので不安になりますが10分ぐらい放っておくと勝手に再起動が始まります。

 

再起動が完了しWindowsにログインすると、以下の画面が出ます。「Start」を押し、Docker for Windowsサービスを起動します。

f:id:orangeitems:20180618134732p:plain

 

 「このアプリがデバイスに変更を加えることを許可しますか?」というメッセージが出ましたら「はい」をクリックしてください。

 

その後、デスクトップ上にある「Docker for Windows」のアイコンをダブルクリックし起動してください。

※起動には時間がかかります。気長に待ちましょう。

 

起動できましたら、以下のウィンドウが表示されます。Docker IDでログインしましょう。

f:id:orangeitems:20180618135309p:plain

 

ログインが完了しましたら、これでDockerが利用できる状態になったことになります。

 

 

CentOSコンテナの起動

現時点のバージョンではGUIはありません。GUIは次期バージョンでサポートされるようです。Kitematicというツールもありますがまずはコマンドで操作を覚えましょう。

 

オフィシャルCentOSコンテナイメージのダウンロード

まず、コマンドプロンプトを開きます。

 

以下のコマンドを実行しましょう。

c:\> docker ps
CONTAINER ID  IMAGE  COMMAND  CREATED  STATUS  PORTS  NAMES

これは、ローカルにインストールされているコンテナを表示するためのコマンドです。インストール直後なので何も表示されません。

 

次に、早速CentOSのコンテナイメージを、Docker Hubからダウンロードします。Docker HubとはDocker版GitHubのようなもので、コンテナを共有するサービスです。すでにDocker ID/Passwordを入手しログインできていますので、このサービスを利用することができます。

c:\> docker pull centos:latest
latest: Pulling from library/centos
7dc0dca2b151: Pull complete
Digest: sha256:b67d21dfe609ddacf404589e04631d90a342921e81c40aeaf3391f6717fa5322
Status: Downloaded newer image for centos:latest

 

はい、これでイメージのダウンロードが終わりました。環境に依存しますが数十秒で終了します。なおpullコマンドの「centos:latest」の意味は、centosリポジトリの、latestタグが付いたイメージという意味です。これを理解すればいろいろなリポジトリからいろいろなイメージをダウンロードできるようになります。

 

今ダウンロードしたイメージは以下のコマンドで表示できます。 

c:\>docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 49f7960eb7e4 13 days ago 200MB

 

centosイメージの起動

さて、centosコンテナを起動しそのままbashシェルに接続します。

c:\>docker run -it centos bin/bash
[root@b148de5ab780 /]# ls
bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@b148de5ab780 /]# id
uid=0(root) gid=0(root) groups=0(root)

 

このように、いきなり起動した状態になります。このままexitすれば、このコンテナは停止したうえで削除されます。行った変更は全て削除されます。

[root@b148de5ab780 /]# exit
exit

c:\>

イメージ自体は永続的ですが、起動中の変更は全て失われるということを意識してください。

 

centosイメージのバックグラウンド起動

さて、次はコマンドプロンプトの裏でバックグラウンド起動します。

 

c:\>docker run -i -d -t centos /bin/bash
96f6faad5c02f93fae0a9b23a41e697e313797256d3b5873f6d85232ed38f939

c:\>docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
96f6faad5c02        centos              "/bin/bash"         8 seconds ago       Up 6 seconds                            objective_morse

 

上記のように、起動した状態が続きます。これに接続し、コマンドを実行してみます。

 

c:\>docker attach 96f6faad5c02
[root@96f6faad5c02 /]# ls
bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

 

exitせず、そのままbashシェルを抜けるためには、CTRL+p、CTRL+q、を続けて押します。この状態であれば、再度attachして継続できます。

 

c:\>docker attach 96f6faad5c02
[root@96f6faad5c02 /]# read escape sequence

c:\>docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
96f6faad5c02        centos              "/bin/bash"         About a minute ago   Up About a minute                       pensive_sinoussi

まとめ

以上のように、Windows環境上でもdockerコマンドが利用でき、Docker Hubからオフィシャルイメージをダウンロードし起動できることがわかりました。

タスクバーにはDockerアイコンが表示されていて設定を行えますが、この中に気になる設定項目があります。

 

f:id:orangeitems:20180618152801p:plain

 

KubernetesもDocker for Windowsに含まれているようですね。いろいろとスタンドアローンで楽しめそうです。

この記事は長くなってしまったので別の回でまとめてみようと思います。Windows上でCentOSがサクっと動くのはなかなか刺激的ですよ。

 

 

Docker 実践ガイド (impress top gear)