Hyper-V上でDockerコンテナ(CentOS)を立ち上げる


概要

Wimdows10のHyper-Vの機能を利用してDocker環境を作成します。またDockerを利用してCentOSのDockerコンテナを作成します。

0. 前提条件

  • Windows10 Proであること
  • メモリが4GB以上あること
  • Hyper-Vを有効化していること

1. Dockerのインストール

  1. https://hub.docker.com/editions/community/docker-ce-desktop-windows に移動する。

  2. Docker Hub(Docker向けのコンテナ共有サービス)にログインする。

  3. 「Get Docker」をクリックしてダウンロードする。

  4. ダウンロードした「Docker for Windows Installer」を起動する。

  5. 「OK」をクリックする。

  6. インストールが開始されるので待機する。

  7. 「Installation succeeded」と表示されることを確認し「Close and log out」をクリックする。

2. Dockerの起動確認

  1. Docker Hubへのログインが求められる画面が表示される。
    Docker Hubのアカウント名・パスワードを入力し「Log In」をクリックする。

  2. タスクバーにあるDockerのアイコンを右クリックし、「Settings」をクリックする。

  3. 左下に「Docker running」と表示されていることを確認する。

  4. Dockerの動作が重い場合は「Advanced」メニューでCPU・メモリを増やす。

3. Dockerとの接続

  1. タスクバーにあるDockerアイコンを右クリックし、「Kitematic」をクリックする。

  2. 「Download」をクリックする。

  3. 「Kitematic-Windows.zip」をダウンロードする。

  4. 解凍したフォルダにある「Kitematic」を起動する。

  5. 「Connect to Docker Hub」の画面が表示される。
    Docker Hubのアカウント名・パスワードを入力し「Log In」をクリックする。

  6. Dockerイメージ一覧の画面が表示されたことを確認する。
    その後、左下の「Docker CLI」をクリックする。

  7. Power Shellが起動したことを確認する。

  8. Dockerに接続したことを確認する。

    > docker --version
    Docker version 18.09.2, build 6247962
    

4. CentOSのDockerコンテナを作成する

  1. CentOSのDockerイメージをダウンロードする。

    > docker pull centos
    Using default tag: latest
    latest: Pulling from library/centos
    8ba884070f61: Pull complete
    Digest:`<br> `sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c
    Status: Downloaded newer image for centos:latest
    
  2. Dockerイメージをダウンロードされたことを確認する。

    > docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              latest              9f38484d220f        4 months ago        202MB
    
  3. CentOSのDockerコンテナを作成する。
    使用するコマンドはdocker run -d --privileged -h <ホスト名> --name <コンテナ名> <イメージ名> /sbin/init

    > docker run -d --privileged -h centos_test --name centos_container centos /sbin/init
    b79f4102071fdcb36e76f1c6281e590ba740f59e0842a5565e4ff56c1da48cac
    
  4. 作成したDockerコンテナのコンソール画面に入る。
    使用するコマンドはdocker exec -it <コンテナ名> /bin/bash

    > docker exec -it centos_container /bin/bash
    
  5. CentOSのコンソール画面に入ったことを確認する。

    # uname -a
    Linux 591f1d983b96 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    
    # cat /etc/redhat-release
    CentOS Linux release 7.6.1810 (Core)
    
  6. その後はお好みに設定する。

  7. CentOSのコンソールから抜ける際はexitを実行する。

   # exit

5. Dockerコンテナを停止する

  1. 起動しているDockerコンテナ一覧を表示する。

    > docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    b79f4102071f        centos              "/sbin/init"        2 weeks ago         Up 3 minutes                            centos_container
    
  2. 使用しないDockerコンテナを停止する。
    使用するコマンドはdocker stop <CONTAINER ID または コンテナ名>

    > docker stop b79f4102071f
    
  3. 指定したDockerコンテナが停止したことを確認する。STATUSの値がExitedと表示されていることを確認する。

    > docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                            PORTS               NAMES
    b79f4102071f        centos              "/sbin/init"        2 weeks ago         Exited (137) About a minute ago                       centos_container
    

6. DockerコンテナをDockerイメージとして保存する。

  1. Dockerイメージとして保存したいDockerコンテナのCONTAINER IDを確認する。

    > docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                            PORTS               NAMES
    b79f4102071f        centos              "/sbin/init"        2 weeks ago         Exited (137) About a minute ago                       centos_container
    
  2. Dockerイメージとして保存する。
    使用するコマンドはdocker commit <CONTAINER ID> <Dockerイメージ名>

    >docker commit b79f4102071f centos_image
    sha256:7176ddb9332f1bed330958e8b843e40502628754ba0338de195788aedd5ba802
    
  3. Dockerイメージが保存されたことを確認する。

    > docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos_image        latest              7176ddb9332f        9 minutes ago       202MB
    centos              latest              9f38484d220f        4 months ago        202MB
    

最後に

Windows10のHyper-Vを利用してDockerを立ち上げ、軽量で高速にCentOS環境が作成することができます。またUbuntuなどのOSもDockerイメージをダウンロードすることで、様々なOSのDockerコンテナが作成できます。