Submit Search
Upload
WSL2+docker+JupyterとVS Codeリモート環境の構築
•
0 likes
•
745 views
S
Saito5656
Follow
グループ内の個人用PCにローカル環境構築するためのハンズオン資料です、この先クラウドメインになったらまた講習資料つくります
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
モデル高速化百選
モデル高速化百選
Yusuke Uchida
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
AGIRobots
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Recommended
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
モデル高速化百選
モデル高速化百選
Yusuke Uchida
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
AGIRobots
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
MLOps入門
MLOps入門
Hiro Mura
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
富士通クラウドテクノロジーズ株式会社
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Daichi Kitamura
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
LiDARとSensor Fusion
LiDARとSensor Fusion
Satoshi Tanaka
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
NVIDIA Japan
【DL輪読会】Vision-Centric BEV Perception: A Survey
【DL輪読会】Vision-Centric BEV Perception: A Survey
Deep Learning JP
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
MobileRoboticsResear
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
空撮画像技術と3次元リアルタイムデータの可視化について
空撮画像技術と3次元リアルタイムデータの可視化について
Ryousuke Wayama
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
More Related Content
What's hot
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Preferred Networks
MLOps入門
MLOps入門
Hiro Mura
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Preferred Networks
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
富士通クラウドテクノロジーズ株式会社
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Daichi Kitamura
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
LiDARとSensor Fusion
LiDARとSensor Fusion
Satoshi Tanaka
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
NVIDIA Japan
【DL輪読会】Vision-Centric BEV Perception: A Survey
【DL輪読会】Vision-Centric BEV Perception: A Survey
Deep Learning JP
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
MobileRoboticsResear
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
空撮画像技術と3次元リアルタイムデータの可視化について
空撮画像技術と3次元リアルタイムデータの可視化について
Ryousuke Wayama
What's hot
(20)
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
MLOps入門
MLOps入門
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
GitLab から GitLab に移行したときの思い出
GitLab から GitLab に移行したときの思い出
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Windowsマシン上でVisual Studio Codeとpipenvを使ってPythonの仮想実行環境を構築する方法(Jupyter notebookも)
Docker Compose 徹底解説
Docker Compose 徹底解説
LiDARとSensor Fusion
LiDARとSensor Fusion
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
【DL輪読会】Vision-Centric BEV Perception: A Survey
【DL輪読会】Vision-Centric BEV Perception: A Survey
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
DockerとPodmanの比較
DockerとPodmanの比較
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
空撮画像技術と3次元リアルタイムデータの可視化について
空撮画像技術と3次元リアルタイムデータの可視化について
Similar to WSL2+docker+JupyterとVS Codeリモート環境の構築
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
Docker Swarm入門
Docker Swarm入門
Masahito Zembutsu
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
Toru Miyahara
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
npsg
Docker調査20150704
Docker調査20150704
HommasSlide
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Masahide Yamamoto
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
VirtualTech Japan Inc./Begi.net Inc.
Circle ci and docker+serverspec
Circle ci and docker+serverspec
Tsuyoshi Yamada
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Naoki Nagazumi
20150101勉強会 dokku alt
20150101勉強会 dokku alt
Shugo Numano
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
VirtualTech Japan Inc.
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Wataru NOGUCHI
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
コンテナ情報交換会2
コンテナ情報交換会2
Masahide Yamamoto
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
Ryo Nakamaru
Similar to WSL2+docker+JupyterとVS Codeリモート環境の構築
(20)
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Docker Swarm入門
Docker Swarm入門
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
Docker調査20150704
Docker調査20150704
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
Circle ci and docker+serverspec
Circle ci and docker+serverspec
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
20150101勉強会 dokku alt
20150101勉強会 dokku alt
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
コンテナ情報交換会2
コンテナ情報交換会2
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
WSL2+docker+JupyterとVS Codeリモート環境の構築
1.
WSL2+docker+Jupyterと VS Codeリモート環境の構築 2020.11.3 @Saito56565656
2.
このハンズオン資料について • WSL2インストール 【参考】https://www.atmarkit.co.jp/ait/articles/2008/31/news023.html • ssh設定 【参考】https://blog.mihyaeru.com/2020/06/28/wsl2-ssh/ 【参考】https://qiita.com/gengen16k/items/18262af0781fd32fc9cd •
Docker Dessktopのインストール 【参考】https://www.docker.com/ 【参考】https://qiita.com/KoKeCross/items/a6365af2594a102a817b • Jupyter-Lab imageのビルドと実行 【参考】https://qiita.com/komiya_____/items/96c14485eb035701e218 【参考】https://qiita.com/ss_33_sss/items/b018e55834f21d1a593d ☞ 理屈はさておき、docker上でJupyter-Lab(Python機械学習環境)の最速立上げ手順 ☞ 仮想上directoryとPCフォルダーをbindしwindows上でファイル保存する環境構築手順 ☞ VSCodeでのnotebook利用方法 【謝辞】Blog著者の皆様ありがとうございました 説明すること ☞ windows shellとLinuxとdockerの基礎知識、コマンドの役割 ☞ VSCodeの初期設定、使用方法 ☞ Pythonの文法、基礎知識 説明しないこと(手を動かして自分で調べましょう)
3.
WSL2のインストール
4.
WSLのインストール • 「コントロールパネル」⇒「プログラムと機能」を開く • 「Windowsの機能の有効化または無効化」をクリック •
「Linux用Windowsサブシステム」にチェックを入れて「OK」をクリック • Windowsを再起動する 【参考】WSL2とは: https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html
5.
Ubuntuのインストール • Microsft Storeで「wsl」と検索 •
「Ubuntu」を選択して「インストール」 • インストールが完了するとUbuntuが立上るので「UNIX username」「New password」 を入力してユーザー初期設定する
6.
仮想マシン有効化 • 「コントロールパネル」⇒「プログラムと機能」を開く • 「Windowsの機能の有効化または無効化」をクリック •
「仮想マシン プラットフォーム」にチェックを入れて「OK」をクリック • Windowsを再起動する
7.
• コマンドプロンプトより「wsl.exe –l
-v」と入力しWSLのVERSIONを確認 • VERSIONは1のはずなので「wsl.exe --set-version Ubuntu 2」と入力 • 「WSL 2を実行するには、カーネルコンポーネントの更新が必要です」が表示されたら、 https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel⇒「wsl_update_x64.msi」 をダウンロードして実行 • 再度「wsl.exe --set-version Ubuntu 2」を実行して「wsl.exe –l -v」でVERSION確認 変らなかったら再起動してVERSION再確認 UbuntuをWSL2用に変換
8.
• 再度「wsl.exe --set-version
Ubuntu 2」と入力して下記メッセージが出たら または「 Windowsの機能の有効化または無効化」で「仮想マシンプラットフォーム」 が表示されない場合、BIOSの仮想化支援機能を有効化する • BIOSで有効化する項目は intel CPU: VT-x VT-d AMD CPU: AMD-V(UEFI上ではSVM Mode、CPU Configurationにある) IOMMU(Advanced>AMD CBS>NBIO Common Options等、深い場所) 【参考】 https://jp.finalfantasyxiv.com/lodestone/character/6584870/blog/4364798?order=2 仮想化支援機能の有効化が必要な場合
9.
ssh設定
10.
※ssh接続しなくてもコンテナのVSCodeリモート接続に支障はないが設定しておく • Ubuntuターミナルを起動して「/etc/ssh/sshd_config」を開く (nanoならsudo nano
/etc/ssh/sshd_config) • 「PasswordAuthentication」がnoだったらyesにして保存 • 以下のスクリプトをWindowsで起動時実行するバッチファイルとして作成(コピペ可) wsl -d Ubuntu -u root exec service ssh restart for /F %%i in (‘wsl -d Ubuntu exec hostname -I’) do set ip=%%i netsh interface portproxy delete v4tov4 listenport=22 netsh interface portproxy add v4tov4 listenport=22 connectaddress=%ip% • バッチファイルを任意の場所に保存 WSL2のssh設定①
11.
WSL2のssh設定② • 「スタートメニュー」⇒「タスクスケジューラー」⇒「タスクの作成」を開く • 全般タグは、任意の名前を付けて「最上位の特権」をチェック、構成はWindows10 •
トリガータグは、新規作成から「タスクの開始」を「スタートアップ時」に設定 • 操作タグは、新規作成から「プログラム/スクリプト」に先ほどのバッチファイルを設定 • 設定タグは、念のため再起動間隔を1分間/3回で設定
12.
Docker Dessktopのインストール
13.
Docker Desktopのインストール • https://www.docker.com/get-startedより「Windows用にダウンロード」をクリック •
「Enable WSL 2 Windows Features 」をチェックしたままインストールを続ける • インストール完了後に「setting」⇒「General」でWSL2 engineが有効なのを確認 • 「setting」⇒「Resources」⇒「WSL INTEGRATION」でUbuntuをonにしてRestart
14.
Jupyter-Lab imageのビルドと実行
15.
Jupyter-Lab imageのビルド • 作業フォルダを作成し機械学習環境imageをビルドする為のDockerfileを配置 •
作業フォルダに移動してimageをビルド(作業フォルダはDockerfileで指定するdir名) $ mkdir docker && cd docker $ sudo nano Dockerfile $ docker build -t {任意のimageファイル名} . ← . は忘れないように home ubuntuのusername docker etc Dockerfile # ベースイメージ名:タグ名 FROM continuumio/anaconda3:2019.03 # アップグレード・インストール RUN pip install --upgrade pip && ¥ pip install autopep8 && ¥ pip install numpy && ¥ pip install pandas && ¥ pip install matplotlib && ¥ pip install xlsxwriter && ¥ pip install Keras && ¥ pip install tensorflow # コンテナ側:{username}はubuntuのusername、user rootの下の{docker}というフォルダをWORKDIRに指定 WORKDIR /home/{username}/docker # コンテナ側のリッスンポート番号 EXPOSE 8888 # ENTRYPOINT命令はコンテナ起動時に実行するコマンドを指定(基本docker runの時に上書きしないもの) # “jupyter-lab” => jupyter-lab立ち上げコマンド # “—ip=0.0.0.0” => ip制限なし # “—port=8888” => EXPOSE命令で書いたポート番号と合わせる # ”—no-browser” => ブラウザを立ち上げない、コンテナ側にはブラウザがない # “—allow-root” => rootユーザーの許可、セキュリティ的に良くないので自分で使うとき限定 # “—NotebookApp.token=‘’” => トークンなしで起動許可、これも警察に怒られる ENTRYPOINT [“jupyter-lab”, “—ip=0.0.0.0”, “—port=8888”, “—no-browser”, “—allow-root”, “—NotebookApp.token=‘’”] # CMD命令はコンテナ起動時に実行するコマンドを指定 # “—notebook-dir=/workdir” => Jupyter Labのルートとなるディレクトリを指定 CMD [“—notebook-dir=/home/{username}/docker”] Dockerfileは以下の{username}を各自書き換えてコピペ作業フォルダ名をdockerにする場合 必要に応じてパッケージは追加・削除 { }は不要、念のため
16.
Jupyter-Lab imageの実行 • ビルドしたdocker
imageを実行する • 右のメッセージが出たら成功 • ブラウザーで「localhost:8888」と入力し起動を確認 以下の{}内を各自書き換えてコピペ $ docker run -it -p 8888:8888 --rm --name my-lab --mount type=bind,src=/mnt/c/Users/{winPCのユーザーフォルダ名}/{任意の作業フォルダ 名},dst=/home/{username}/docker {自分がbuildしたコンテナimage名} src=以下はPC側の作業(保存)フォルダー、ubuntu側からbindで/mnt以下にぶら下がる dst=以下は仮想マシンの作業(保存)フォルダー、
17.
VS Codeからcontainerへ接続
18.
VS Code拡張機能インストール • 「
Ctrl-Sihft-x」(拡張機能)から「remote」と入力 • Remote Developmentをインストール 拡張機能の検索窓に 「remote」と入力 インストール
19.
• Ubuntuターミナルでdocker runした状態で リモートウィンドウボタンをクリック •
Remoto – Container: Attach to Running Container…を選択 コンテナに接続
20.
• 先ほどdocker runしたコンテナが表示されるので選択 コンテナに接続 しばらくすると接続が完了する新しいウィンドウが開く
21.
• 「 Ctrl-Sihft-x」(拡張機能)から「python」と入力 •
Python拡張機能をコンテナ上にインストール コンテナにPythonをインストール
22.
コンテナに接続 • リモートエクスプローラーを開き PC作業フォルダ(保存先)と仮想作業dirがbindされてるのを確認 リモート エクスプローラー Dockerfileで指定したPCフォルダ名 (Source)と仮想作業Dir(Distination)が 表示されていることを確認
23.
作業dirを開く • エクスプローラーボタンを押して「フォルダを開く」から Ubuntu上の作業dirに移動する コンテナをdocker rnした Ubuntuフォルダ名を入力 エクスプローラー
24.
VS Codeから新しいnotebookを作成 • 「
Ctrl-Sihft-p」(コマンドパレット)から Python: Create Blank New Jupyter Notebookを選択 • しばらくすると新しいnotebookが立ち上がる
25.
サンプルcode実行 • 適当なグラフを描画してみる • ↓怒られたら再実行する sin_wave.py import
wave import numpy as np from matplotlib import pylab as plt import struct a = 1 # 振幅 fs = 500 # サンプリング周波数 f0 = 5 # 周波数 sec = 5 # 秒 swav = [] for n in np.arange(fs * sec): # sin波生成 s = a * np.sin(2.0 * np.pi * f0 * n / fs) swav.append(s) # 表示 plt.plot(swav[0:100]) plt.show()
26.
ファイルをbind先のPCフォルダに保存 • 名前を付けて保存したら、bindしたPCフォルダでも確認 保存 test_sampleで保存 Docker上の作業dir PC上の作業フォルダ
27.
VS Codeリモートの切断とコンテナ終了 • リモートを切断してVS
Codeを閉じてからdocker imageを停止 クリック リモート接続を終了後、VS Codeを閉じる Ubuntuターミナルで「Ctrl-C」⇒「y」で コンテナを停止
Download now