SlideShare a Scribd company logo
1 of 27
Download to read offline
WSL2+docker+Jupyterと
VS Codeリモート環境の構築
2020.11.3
@Saito56565656
このハンズオン資料について
• 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の文法、基礎知識
説明しないこと(手を動かして自分で調べましょう)
WSL2のインストール
WSLのインストール
• 「コントロールパネル」⇒「プログラムと機能」を開く
• 「Windowsの機能の有効化または無効化」をクリック
• 「Linux用Windowsサブシステム」にチェックを入れて「OK」をクリック
• Windowsを再起動する
【参考】WSL2とは: https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html
Ubuntuのインストール
• Microsft Storeで「wsl」と検索
• 「Ubuntu」を選択して「インストール」
• インストールが完了するとUbuntuが立上るので「UNIX username」「New password」
を入力してユーザー初期設定する
仮想マシン有効化
• 「コントロールパネル」⇒「プログラムと機能」を開く
• 「Windowsの機能の有効化または無効化」をクリック
• 「仮想マシン プラットフォーム」にチェックを入れて「OK」をクリック
• Windowsを再起動する
• コマンドプロンプトより「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用に変換
• 再度「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
仮想化支援機能の有効化が必要な場合
ssh設定
※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設定①
WSL2のssh設定②
• 「スタートメニュー」⇒「タスクスケジューラー」⇒「タスクの作成」を開く
• 全般タグは、任意の名前を付けて「最上位の特権」をチェック、構成はWindows10
• トリガータグは、新規作成から「タスクの開始」を「スタートアップ時」に設定
• 操作タグは、新規作成から「プログラム/スクリプト」に先ほどのバッチファイルを設定
• 設定タグは、念のため再起動間隔を1分間/3回で設定
Docker Dessktopのインストール
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
Jupyter-Lab imageのビルドと実行
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にする場合
必要に応じてパッケージは追加・削除
{ }は不要、念のため
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=以下は仮想マシンの作業(保存)フォルダー、
VS Codeからcontainerへ接続
VS Code拡張機能インストール
• 「 Ctrl-Sihft-x」(拡張機能)から「remote」と入力
• Remote Developmentをインストール
拡張機能の検索窓に
「remote」と入力
インストール
• Ubuntuターミナルでdocker runした状態で
リモートウィンドウボタンをクリック
• Remoto – Container: Attach to Running Container…を選択
コンテナに接続
• 先ほどdocker runしたコンテナが表示されるので選択
コンテナに接続
しばらくすると接続が完了する新しいウィンドウが開く
• 「 Ctrl-Sihft-x」(拡張機能)から「python」と入力
• Python拡張機能をコンテナ上にインストール
コンテナにPythonをインストール
コンテナに接続
• リモートエクスプローラーを開き
PC作業フォルダ(保存先)と仮想作業dirがbindされてるのを確認
リモート
エクスプローラー
Dockerfileで指定したPCフォルダ名
(Source)と仮想作業Dir(Distination)が
表示されていることを確認
作業dirを開く
• エクスプローラーボタンを押して「フォルダを開く」から
Ubuntu上の作業dirに移動する
コンテナをdocker rnした
Ubuntuフォルダ名を入力
エクスプローラー
VS Codeから新しいnotebookを作成
• 「 Ctrl-Sihft-p」(コマンドパレット)から
Python: Create Blank New Jupyter Notebookを選択
• しばらくすると新しいnotebookが立ち上がる
サンプル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()
ファイルをbind先のPCフォルダに保存
• 名前を付けて保存したら、bindしたPCフォルダでも確認
保存
test_sampleで保存
Docker上の作業dir
PC上の作業フォルダ
VS Codeリモートの切断とコンテナ終了
• リモートを切断してVS Codeを閉じてからdocker imageを停止
クリック
リモート接続を終了後、VS Codeを閉じる Ubuntuターミナルで「Ctrl-C」⇒「y」で
コンテナを停止

More Related Content

What's hot

マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツpospome
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方uchan_nos
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
レコメンド研究のあれこれ
レコメンド研究のあれこれレコメンド研究のあれこれ
レコメンド研究のあれこれMasahiro Sato
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介Tetsutaro Watanabe
 
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎Naruhiko Ogasawara
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 

What's hot (20)

Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
レコメンド研究のあれこれ
レコメンド研究のあれこれレコメンド研究のあれこれ
レコメンド研究のあれこれ
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎MongoDB very basic (Japanese) / MongoDB基礎の基礎
MongoDB very basic (Japanese) / MongoDB基礎の基礎
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 

Similar to WSL2+docker+JupyterとVS Codeリモート環境の構築

ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門Toru Miyahara
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
Docker調査20150704
Docker調査20150704Docker調査20150704
Docker調査20150704HommasSlide
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspecTsuyoshi Yamada
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Naoki Nagazumi
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku altShugo Numano
 
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINARVirtualTech Japan Inc.
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版VirtualTech Japan Inc.
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集Wataru NOGUCHI
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2Masahide Yamamoto
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンRyo Nakamaru
 

Similar to WSL2+docker+JupyterとVS Codeリモート環境の構築 (20)

ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
Docker Swarm入門
Docker Swarm入門Docker Swarm入門
Docker Swarm入門
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
Docker調査20150704
Docker調査20150704Docker調査20150704
Docker調査20150704
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
 
Circle ci and docker+serverspec
Circle ci and docker+serverspecCircle ci and docker+serverspec
Circle ci and docker+serverspec
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
 
20150101勉強会 dokku alt
20150101勉強会 dokku alt20150101勉強会 dokku alt
20150101勉強会 dokku alt
 
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
 
Dockerと継続的インテグレーション
Dockerと継続的インテグレーションDockerと継続的インテグレーション
Dockerと継続的インテグレーション
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
 

WSL2+docker+JupyterとVS Codeリモート環境の構築