Docker Desktop for Windowsを試してみる(4)Windows10+WSL2+DockerDesktopでJupyterLab環境構築してみる
以下のサイト(Docker Toolboxの説明ですが、Docker Desktopに翻訳して)を写経してみたいと思います。
Docker Desktop for Windows目次
- (1)WSL2とWindows Desktopのインストール
- (2)Swiftコンテナを作成してSwiftを動かしてみる
- (3)Windows10でWindowsとwsl2間でのファイルのコピー
- (4)Windows10+WSL2+DockerDesktopでJupyterLab環境構築してみる
- (5)Windows10+WSL2+DockerDesktopでWordPressを環境構築してみる
- (6)Windows10+WSL2+DockerDesktopでRuby on Rails7+PostgreSQLを環境構築してみる【2022年1月時点】
- (7)Windows10+WSL2+DockerDesktop + Ruby on Rails7をHerokuにデプロイ
- (8)Railsチュートリアル第4版(Rails5.1)の環境構築【2022年1月時点】
- (9)dbコンテナ内のpostgresqlの中身を確認する
- (10)ProgateのRubyonRails5学習レッスンの環境構築【2022年1月時点】
- (11)Windows10+WSL2+DockerDesktopでRuby on Rails7(TailwindCSS+importmap-rails)+PostgreSQLを環境構築してみる【2022年9月時点】
- 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 コマンドのオプションの解説
項目 | オプション | 値 |
コンテナ名 | –name | jlab |
ポート番号を指定 | -p | 8888:8888 |
マウント | -v | C:\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とか使うことになった時のことを期待して、、、)
ディスカッション
コメント一覧
まだ、コメントがありません