スポンサーリンク

Docker Desktop for Windowsを試してみる(4)Windows10+WSL2+DockerDesktopでJupyterLab環境構築してみる

2022年1月22日

以下のサイト(Docker Toolboxの説明ですが、Docker Desktopに翻訳して)を写経してみたいと思います。

引用元:https://kino-code.com/docker_python/

スポンサーリンク

Docker Desktop for Windows目次

  1. (1)WSL2とWindows Desktopのインストール
  2. (2)Swiftコンテナを作成してSwiftを動かしてみる
  3. (3)Windows10でWindowsとwsl2間でのファイルのコピー
  4. (4)Windows10+WSL2+DockerDesktopでJupyterLab環境構築してみる
  5. (5)Windows10+WSL2+DockerDesktopでWordPressを環境構築してみる
  6. (6)Windows10+WSL2+DockerDesktopでRuby on Rails7+PostgreSQLを環境構築してみる【2022年1月時点】
  7. (7)Windows10+WSL2+DockerDesktop + Ruby on Rails7をHerokuにデプロイ
  8. (8)Railsチュートリアル第4版(Rails5.1)の環境構築【2022年1月時点】
  9. (9)dbコンテナ内のpostgresqlの中身を確認する
  10. (10)ProgateのRubyonRails5学習レッスンの環境構築【2022年1月時点】
  11. (11)Windows10+WSL2+DockerDesktopでRuby on Rails7(TailwindCSS+importmap-rails)+PostgreSQLを環境構築してみる【2022年9月時点】
  12. Windows10+WSL2(Ubuntu20.02)でRails7+tailwindcss+jsbundling-rails環境構築【2022年9月時点】

開発環境

Windows 10 Pro 1909
Windows Docker Desktop 4.0.0
VisualStudioCode (wsl用の拡張機能インストール済み)

WSL2 Ubuntu 20.04 LTS
VisualStudioCode (+拡張機能 )

『Wndows Docker Desktop』+『WSL2のUbuntu』+VSCodeのセットアップについては「Docker for Windowsを試してみる(1)WSL2とWindows Desktopのインストール」をご参照ください。

Dockerfileの作成

C:\Users{ユーザ名}Documents\ に、 docker フォルダを作成します。

https://kino-code.com/wp-content/uploads/2020/08/Dockerfile の中身を"Dockerfile" (拡張子無し)という名前で保存します。無理やり .txt という拡張子を付けられてしまうことが多いので、 .txt を消します。

UbuntuにJupyterLabとnodejsを入れて、さらに、何かよくわかりませんが、よしなにやってくれるようです。

DockerfileからDockerイメージを作成

Dockerイメージは、Dockerコンテナを作成するための設計図のようなものです(だと思います、、、)。

Windowsのスタートボタン > Windows PowerShell > Windows PowerShell をクリックして、PowerShellを起動します。

PowerShellで、以下を入力してEnterを押します。{ユーザ名} のところは、ご自身のユーザ名を入力してください。

docker build -t jlab:latest C:\Users\{ユーザ名}\Documents\docker

なんか10分以上かかった気がします。いったい何GBになるんだろうか、、、

この時点でDocker Desktopを見てみると、jlab というイメージが作成されているのが確認できます。安心です。しかし、約4GBもあるんですね。。。

ちなみに、このjlab の、 IMAGE ID を次に使用しますので、メモ帳などにコピペしておくと便利です。

Dockerコンテナの作成と起動「docker run」

上記で作成したDockerイメージ”jlab”のIMAGE IDをメモ帳などに控えておきます。()

docker images

これに出てくる ”jlab”のIMAGE IDを メモ帳などに控えておいてもよいです。次のコードで使用します。

次に、以下を入力します。{ユーザ名}のところと、{IMAGE ID}のところは、それぞれの方の環境のものに置き換えて入力してください。

docker run -p 8888:8888 -v C:\Users\{ユーザ名}\Documents\docker:/workspace --name jlab {IMAGE ID}

docker run コマンドのオプションの解説

項目オプション
コンテナ名–namejlab
ポート番号を指定-p8888:8888
マウント-vC:\Users{ユーザ名}\Documents\docker:/workspace

-p (ホストのポート番号):(コンテナのポート番号)

となっています。「ホストのポート番号」は8890などに変更可能です。

今回は、「ボリュームマウント」を行っています。(お勧めの本:仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん )

-v オプションの設定内容

項目
コンテナ内の記憶領域パス(マウント元)
/workspace
実際のフォルダ名(マウント先)docker
Windowsの実際の記憶領域パスC:\Users{ユーザ名}\Documents\docker

WindowsのWEBブラウザでJupyterLabを開く

WindowsのChromeで、以下のアドレスを開きます。

http://localhost:8888/

すごい!これは簡単!(2回目以降の話です。ここまでくるのは大変でした。。。参考:Docker Desktop for Windowsを試してみる(1)WSL2とWindows Desktopのインストール

試しに中身を触ってみます。

左側の workspace をダブルクリックすると、以下のようになるので、NotebookのPython3 をクリックします。

以下のようになるので、左側で、Untitled.ipynb の名前を変更し、右側でpythonを少しやってみます。

動かしてみると、とにかく反応が速いのがよいです。

コンテナを停止したいときは新規PowerShell画面で停止するか、Docker Desktopで停止する

なお、このPowerShellに書いてあるように、”Ctrl + C”を押してもコンテナは停止しません。

なんかややこしいのですが、コンテナを停止したい場合は、また新しいPowerShell画面を開き、

docker stop jlab

と入力すると、Dockerコンテナが停止します。Dockerコンテナを再開したいときは

docker start jlab

と入力します。

Docker Destktopを確認しても、無事、jlabコンテナが停止していることが確認できます。2回目以降、ここから(△ボタンを押して、)jlabコンテナを起動してもかまいません。

なお、jlabコンテナを停止後、Windowsの C:\Users{ユーザ名}\Documents\docker フォルダは、以下のようになっていました。ここからipynbファイルも持ち出せます。

JupyterLab環境を構築することなんて、普通は2回以上もすることはないので、Windowsに直接Anacondaをインストールする方がよっぽど簡単なのですが、今回は、Dockerの練習として、やってみました。(練習にしては非常に面倒ですが、将来、AWSとか使うことになった時のことを期待して、、、)

Docker Desktop for Windows目次

  1. Docker Desktop for Windowsを試してみる(1)WSL2とWindows Desktopのインストール
  2. Docker Desktop for Windowsを試してみる(2)Swiftコンテナを作成してSwiftを動かしてみる
  3. Docker Desktop for Windowsを試してみる(3)Windows10でWindowsとwsl2間でのファイルのコピー
  4. Docker Desktop for Windowsを試してみる(4)Windows10+WSL2+DockerDesktopでJupyterLab環境構築してみる

Docker,Python

Posted by twosquirrel