Dockerは基本的にはCUIで操作/管理するツールである。後述するようにGUIの管理ツールも存在するけれど、「docker.exe」というコマンドラインコマンドにパラメーターを付けて操作するのが標準といえる。
Docker for Windowsをインストールすると、「C:\Program Files\Docker」フォルダ以下にDocker関係のツールがインストールされ、PATH環境変数もセットされる。そのため、インストール後にコマンドプロンプトやPowerShellコンソールを開けば、すぐにdockerコマンドを実行できる。
Dockerの基礎やdockerコマンドの使い方についてはここでは触れないので、次の連載記事などを参照していただきたい。
以下では、最小限の動作確認や基本的な操作・設定、そしてGUIツールに絞って紹介しておく。
インストールが終わったら、まずはコマンドプロンプトかPowerShellコンソールを開いて、単に「docker」と入力してみる(dockerコマンドを使うだけなら、管理者権限は不要)。これでヘルプメッセージが表示されればインストールは正しく行われている。
その次は「docker version」や「docker info」コマンドなどを実行してみる。
C:\>docker ……dockerコマンドが実行できるか確認
Usage: docker [OPTIONS] COMMAND [arg...]
docker [ --help | -v | --version ]
A self-sufficient runtime for containers.
Options:
--config=%USERPROFILE%\.docker Location of client config files
-D, --debug Enable debug mode
-H, --host=[] Daemon socket(s) to connect to
-h, --help Print usage
……(中略)……
Run 'docker COMMAND --help' for more information on a command.
C:\>
C:\>docker version ……バージョンのチェック
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: windows/amd64
Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: linux/amd64
C:\>docker info ……状態の確認
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 1.12.0
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 0
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.15-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.952 GiB
Name: moby
……(中略)……
Insecure Registries:
127.0.0.0/8
C:\>
以上の動作が確認できたら、次は「docker run hello-world」を実行してみる。「docker run」はコンテナを実行するコマンド、「hello-world」はコンテナの名前である。これを実行すると、hello-worldというイメージがインターネット(Dockerレジストリ)から自動的にダウンロードされ、ローカルにイメージとして保存される。そしてそのイメージを使ってコンテナが作成され、実行される。
C:\>docker run hello-world ……コンテナの起動
Unable to find image 'hello-world:latest' locally ……指定されたコンテナイメージがローカルに見つからない(まだダウンロードされていない)というメッセージ
latest: Pulling from library/hello-world ……インターネット(Dockerレジストリ)からダウンロードしてくる
c04b14da8d14: Pull complete ……ダウンロードしたイメージの情報
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest
Hello from Docker! ……ここから下は「hello-world」コンテナの出力。このコンテナは、このようなメッセージを出力するだけの、動作確認用のコンテナ。これが表示されているということは、イメージのダウンロードやコンテナの作成、起動が正しく動作しているということ
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash ……次はこれを実行してみると、Ubuntuコンテナとbashの動作確認ができる
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
C:\>
これが動作したら、次は上の出力中にあるように、「docker run -it ubuntu bash」を実行してみる。ubuntuとbashシェルが起動するはずなので、bashでさまざまなコマンドを実行してみよう。最後は[Ctrl]+[D]やexitコマンドで終了できる。
一度実行したコンテナはローカルに残っているので、次回は素早く起動できる。プロセスの状態やイメージの状態は「docker ps」や「docker images」コマンドで確認できる。
C:\>docker ps ……実行中のコンテナの一覧を表示させてみる
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
↑……全て実行が終了しているので、何も表示されない
C:\>docker ps -a ……実行中でないコンテナも表示させてみる
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
55cc8b868037 hello-world "/hello" 4 minutes ago Exited (0) 3 minutes ago tiny_jones ……hello-worldはすでにExited(終了した)状態
C:\>docker images ……イメージの一覧を確認してみる(イメージをロードしたものがコンテナ)
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest c54a2cc56cbb 8 weeks ago 1.848 kB ……イメージのIDとサイズなどの情報
C:\>
まだまだDockerには多くのコマンドがあるが、これ以上の使い方については、前掲の連載「いまさら聞けないDocker入門」やDockerサイトのドキュメントページなどを参照していただきたい。
Docker for Windowsをインストールすると、Windows 10の[スタート]メニューに[Docker]−[Docker for Windows]というツールがインストールされ、さらにタスクバーの通知領域に[Docker for Windows]のアイコンが表示される。このアイコンからは、Dockerの幾つかの設定を変更することができる。
[Setting]を選択すると、次のような設定を変更できる。
Dockerは基本的にはCUIだけで操作するツールであるが、上のタスクトレイのアイコンを右クリックして[Open Kitematic]を選択すると、コンテナを管理するGUIのツール「Kitematic(カイトマチック)」を利用できる。
ただしKitematicはデフォルトではインストールされておらず、最初にこのメニューを起動すると、Kitematicのダウンロードを促す画面が表示される。その画面中にある[Download]ボタンを押すと最新のKitematicパッケージ(ZIPファイル)がダウンロードできる。その内容を展開後、指示に従って「C:\Program Files\Docker\Kitematic」フォルダを作成して、その中へコピーする。すると以後は[Open Kitematic]メニューからKitematicツールを起動できるようになる。
Kitematicでは、ローカルにインストールされているコンテナの管理や、新しいイメージの検索、ダウンロード、ログの表示などができる。コンテナによっては、シェルを起動してコンソールからインタラクティブに使ったり、Webブラウザを起動して出力をブラウザで閲覧したりできる。
Kitematicを使わなくても、dockerコマンドで全て操作できるのだが、細かいコマンドを覚えるのが面倒だったり、Dockerにまだあまり慣れていないならKitematicは便利だろう。
今後のWindows Server 2016でもコンテナ技術がサポートされるなど(ただしLinuxコンテナではなく、Windows ServerコンテナやHyper-Vコンテナがサポートされる)、軽量なコンテナ技術を使ったアプリケーションの仮想化や運用は、仮想マシンやクラウドと並ぶ、最重要技術の1つとなりつつある。Dockerの重要性は今後ますます高まるだろうから、開発や運用に携わることがあるなら、ぜひ導入・体験しておきたい。
■更新履歴
【2017/04/28】ダウンロード情報などを更新しました。
【2016/09/01】初版公開。
Copyright© Digital Advantage Corp. All Rights Reserved.