Docker のインストールと、動作確認(for Windows)

Windows設定

Docker の特徴

 今回、コンテナ仮想化技術の「Docker」のインストール、並びに、動作確認にチャレンジしてみました。インストールにあたっては、以下に示す動画や記事を拝見させていただきました。

理屈はさておき、Dockerを使って、あっという間にPythonのデータ分析の環境構築をする|WindowsとMacの説明あり
(キノコード / プログラミング学習動画のYouTuberさんの動画)

WSL2導入|WinアップデートからWSL2を既定にするまでのスクショ
(Qiita @tomokei5634さんの記事)


Docker を使う理由

 先日、MacBookProを注文しました。MacBookProが届いたら、直ぐに、機械学習を行うための環境構築をしたいと思います。ただし、これには試行錯誤が予想されます。その過程で、OSを改変して、その後に影響が出る可能性があります。

 このDockerは、仮想のパソコンシステムを構築するため、実際のOSには影響なく、何度でもやり直しが可能です。他にも数多くのメリットがあります。詳細については、上記の動画をご覧いただきたいと思います。

 今回、Dockerとはどのようなもので、どのように使うかを知るために、Windowsで試してみたいと思います。MacBookProが届いたら、M1チップMac OS(Big Sur)にインストールしたいと考えています。しかし、その他のソフトウェア同様に、Dockerは、まだ、M1には対応していない可能性があります。


 早速、動画や記事を見ながらインストールを行いました。予想通り、苦難の連続でした。その過程を、このページに記録しておきたいと思います。私のパソコンのスペックや、人工知能との関わり合いは、親ブログに記載されています。

・「Python による学習環境の構築
(初めて、機械学習(人工知能)の勉強を始める人のためのブログ)

インストール・動作確認の概要

 以下の流れで、作業を進めたいと思います。

Docker Desktop のインストール

イメージの作成】(ビルド)

「DokerFile」からイメージを作成する(Ubuntsu、Anacondano、Jupyter Notebook)

コンテナの作成

動作確認

【Docker Desktop のインストール】

 こちらの記事を書くのは2回目です。1回目の失敗の記録は、【こちら】です。

 2回目を書いたのには、訳があります。この通りにやったら「うまくいく」を、示したかったからです。もちろん、失敗から得られるものは少なくないです。しかし、大部分の方には必要のない情報だと思います。ご覧になりたい方は「こちら」をどうぞ!

 今回、説明するのは、Windows10Pro に、Docker Desktop をインストールする方法です。一部の操作は、不要な場合もあると思います。各自の判断で行ってください。作業の大まかな流れを示します。

1 最新の Windows10 への Update/仮想化のサポート
2 カーネルコンポーネントの更新/WSL2をデフォルトに設定
3 Docker for Windows による Docker Desktop のインストールと再起動
4 Docker Desktop の初期設定(チュートリアルのインストール)
5 Docker Hub の登録(必要に応じて)

1 最新の Windows10 への Update/仮想化のサポート

最新の Windows10 への Update

・ストレージの空き容量(数10GB必要)を確認します。
 「スタート」アイコンの右横の「検索」「ストレージ」を検索し、「ストレージの設定」を選択します

・Windows10 のダウンロードサイトへ移動し、最新版をインストールします。
 Windows 10 のダウンロード

・再起動後に、Windows のバージョンを確認します。
 ショートカットキー Win+R → 「winver」と入力する
old) Ver.2004(OS bild 19041.685)[2021/1/ 8時点]
new) Ver.20H2(OS ビルド 19042.685)[2021/1/10時点]

仮想化のサポート

 管理者の権限で、Powershellを使って以下のコマンドを実行します。
 「管理者の権限」にするには、アプリを右クリックして「管理者として実行」を選択します。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

2 カーネルコンポーネントの更新/WSL2をデフォルトに設定

 カーネルコンポーネントの更新のためのパッケージを、以下のリンクからダウンロードします。

x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ

 ダウンロードしたパッケージ「wsl_update_x64.msi」を実行します。これで、「カーネルコンポーネントの更新」が終了します。

 正常に更新されたら、以下のコマンドを実行して、WSL2をデフォルトにします。
管理者の権限で、Powershell を使って以下のコマンドを実行します。

wsl –set-default-version 2

3 Docker for Windows による Docker Desktop のインストールと再起動

 下記のサイトから、「Docker for Windows」をダウンロードして、「Docker Desktop 3.0.451218)」をインストールします。

Get Started with Docker

 ダウンロードしたファイル「Docker Desktop Installer.exe」を実行して、終了後にパソコンを再起動します。

4 Docker Desktop の初期設定

 再起動すると、Docker Desktop が自動で起動して(自動で起動しない場合は、自分で起動してください)、初期設定画面チュートリアルをインストールするための)が表れます。
中央部の「START」ボタンを押してください。

 その後は、① Clone、② Build、③ Run、④ Share の順番で作業を行います。作業の方法は簡単です。画面中央部に表示される、「青地に白色文字の四角形のウインドウ」をクリックするだけです。自動で、右側にある「PowerShell」のウインドウで、四角形内に表示されたコマンドが実行されます。

 「PowerShell」上でコマンドの終了を確認したら、「Next Step」をクリックします。以後は、④ Share まで同じ事を繰り返します。以上で、初期設定は終了です。

補足

 先ほどの初期設定の結果を確認します。左側のメニューから「Images」を選択して、「Images on disk」画面を開きます。なお、下記の user は、「Docker HUB」(5で説明)のユーザIDのことです。

(IMAGE NAME)(USE)TAGIMAGE IDCREATESIZE
user/docker101tutorialIN USElatest12桁の16進数作られた時刻27.69MB
docker101tutorialIN USElatest27.69MB
alpine/gitIN USElatest28.41MB

5 Docker Hub の登録

 最後に、「Docker Hub」のユーザー登録を行います(必要に応じて)。アカウント情報(ID、E-mail、Pass)を入力し、メールアドレスの確認を経て「アカウント」が有効になります。これで、「Docker」の準備は終了です。Docker 起動後、右上の「Sign in」でログインしてください。

  

【イメージの作成】

 ここで、簡単に、「Docker」での作業手順を説明します。(誤りがありましたらご指摘願います)

 ① イメージの作成 「DockerFile」から、イメージを作ります。

 ② コンテナの作成 ①で作成したイメージをもとに、実際に動作するコンテナを作ります。

 ③ コンテナの実行 ②で作成したコンテナを実行します。ここでいう実行とは、1つの仮想パソコン起動させる意味です。起動させた仮想パソコンで、目的の作業を行います。


 それでは、イメージを作成します。イメージの作成のための情報は、「DockerFile」に書き込んでおきます。今回は、kino-code さんが作成した「DockerFile」を使わせていただきます。ダウンロードしたファイルは、デスクトップの「mydocker」(必要に応じて作成)に保存してください。

 この「DockerFile」からイメージを作る(これを「ビルド」という)ために、コマンドプロンプトで以下のコマンドを実行します。

docker build -t kino-code:latest \users\user\desktop\mydocker
kino-codeイメージ名これから作成するイメージの名前
userユーザ名Windowsを使っているユーザの名前
mydokerフォルダ名DockerFileが入っているフォルダの名前

実行後、Docker Desktop の「Images on disk」画面を開きます。

(IMAGE NAME)(USE)TAGIMAGE IDCREATESIZE
kino-codelatest12桁の16進数作られた時刻3.8GB

このように、新しいイメージが追加されます。

 

【コンテナの作成】

 次に、先ほど作った「kino-code」というイメージから、「kino-code」というコンテナを作成します。最初に、コマンドで試したところ、コンテナを作成できませんでした。従って、「Docker Desktop」を使ってコンテナを作成しました。

Docker Desktop の「Images on disk」画面を開きます
・「kino-code」イメージの右端に表れる「RUN▷」をクリックします
・「Optional Settings ∨」をクリックします
・「Container Name」に「kino-code」を入力します
Volumes の「Host Path」の「」で「デスクトップのmydoker」を選択します。なお、「Container Path」については、まだ、入力形式が分かりません。

<補足> 以下に示す方法では、コンテナを作成できませんでした。

コマンドプロンプトで、以下のコマンドを実行します。

docker run -p 8888:8888 -v \users\user\desktop\mydocker:\workspace –name kino-code IMAGE ID

 

【動作確認】

 前節で作った、「kino-code」というコンテナを実行したいと思います。

Docker Desktop の「Containers / Apps」画面を開きます。
 開くには、左側のメニューから「Containers / Apps」を選択します。
・「kino-code」コンテナの右端に表れる「>_」(CLI)をクリックします。
・「コンソールウインドウ」が開くので、そこで作業を行います。しかし、「Jupyter Notebook」が正常に動作しません。

※ チュートリアルにおいては、上記の方法で正常に動作しました。従って、システムそのものは、全て正常に動作しているようです。

「Kino-code」さんの場合は、ポートが衝突していて、正常に動作しないようです。ポートを変更したいと思います。

 「DockerFile」の中のポートの記述を変更して、ポートの衝突は回避できましたが、他の理由で「Jupyter Notebook」の起動はできませんでした。ここまでくると、インストール動作確認問題を超えるので、一度、終了したいと思います。

 これから、本格的に、「Docker」の勉強をしていきたいと思います。

Docker 学習のための参考動画【追記】

 Docker 学習のための参考動画のリンクを作成しておきます。

[1]【2021年最新】Docker環境構築入門|14分でdocker-composeまで完全解説!【windows/mac対応】Dockerの使い方

[2]【入門者も理解】Dockerとはなにか?【専門用語少なめ】

[3]【Docker超入門 #1】Dockerって何?何が良いの?(シリーズ)

コメント

  1. […] 【Docker のインストールと、動作確認(for Windows)】 […]

タイトルとURLをコピーしました