主に以下の動画を参考にしました。
【2022最新版】WIndowsにPythonの環境構築|通常のインストール方法、Dockerを使う方法も解説 – YouTube
Docker、WSL2のインストール

Download Docker Desktop | Docker
上記のURLにアクセスし、ダウンロードする。

ダウンロードしたexeファイルを実行し、インストール。チェックはそのまま。

インストールできたら再起動
再起動後の画面でAcceptをクリック

すると、上記のような表示画面が出てくるので、記述に従ってWSL2をインストール。リンク先は以下のものとなっている。
以前のバージョンの WSL の手動インストール手順 | Microsoft Learn

パッケージ部分をクリックし、ダウンロード。exeファイルをクリックし、インストール。
next → finishをクリック

Dockerを再起動すると以下のような画面が出てくる

これでDockerのインストールが完了。
Docker内にコンテナを作成
Docker imagesのpull でコンテナの型を取得
ここでは、機械学習用のイメージをpullしてくる。
jupyter/datascience-notebook – Docker Image | Docker Hub
コマンドプロンプトで「docker pull jupyter/datascience-notebook」を実行する。

これで、Docker Hub上にあるコンテナイメージをローカルにダウンロードできた。
ちなみにこのコマンドはどこのディレクトリで実行しても大丈夫。

docker images でイメージ情報を見ることができる。
Docker runでコンテナ作成
コンテナ作成方法は、Docker Hub上かそこに記載のリンク先に載っている場合がある。今回はJupyter Docker Stacks on ReadTheDocs に飛ぶことでRunのコマンドを見ることができる。
例として以下のようなものが載っている
docker run -it --rm -p 10000:8888 -v "${PWD}":/home/jovyan/work jupyter/datascience-notebook:2023-02-28
–itは、psedo-TTYを割り当てる。簡単に言えば、「一時的な名札を割り当てる」ということかと。
tty【コマンド】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 (i-3-i.info)
–rmの使用により、Dockerはコンテナの終了時に自動的にコンテナをクリーンアップしてファイルシステムを削除する。しかし、コンテナ内の~/workディレクトリとそのファイルに加えられた変更は、ホスト上でそのまま残る。
-p のあとの記述は「ホストマシンのポート:コンテナ内部のポート」ということになる。例えば、「10000:8888」であれば、コンテナ内部ポート8888をホストマシンのポート10000に公開するということである。
-vは、ホスト上の現在の作業ディレクトリがコンテナ内の/home/jovyan/workとしてマウントされる。
最後にコンテナ作成に使うイメージを記述する。コロンのあとに何も書かなければ、latestになる。
ほかにも –name でコンテナに名前を割り振ることもできる。以下に公式ドキュメントを張っておく。
Docker CLI (docker) — Docker-docs-ja 20.10 ドキュメント
今回は、以下のような形で実行した。–rmがあるとコンテナ終了時にシステムを削除してしまうので使わなかった。

これでコンテナ作成終了である。
jupyterを実行
port部分をクリックする。

すると以下のようなページが開ける。

以下に2つのログイン方法を記載する
トークンでログイン

3つの点をクリックし、open in terminal をクリック。

jupyter server list とうち、トークン部分をコピー。
元のjupyter画面のPassword or tokensに入力

開くことができた。
パスワードを設定する方法
一つ前のトークンの方法で、トークンを確認する。
そして、下のToken部分に入力し、NewPasswordに設定したいパスワードを入力する。

以上でjupyter labを使用できるようになる。
コメント