Dockerを使うけどなんかコマンドとかめんどい。。。
イメージの管理とかコンテナ管理とかなんか難しくないです?
そんなとき、VSCodeのDockerプラグインはかなり便利。
Dockerプラグインのリポジトリ
https://github.com/microsoft/vscode-docker
- コンテナを止めたり
- イメージを削除したり
コマンド打たなくてもいいから便利。
Dockerfileを作るときも便利。
開発するときも便利。
開発してるときなんかはディレクトリ共有したいからdocker-compose
使うけど。
Python勉強会やってるのね
勉強会のときノートパソコン持って行くのしんどいし、環境別だし、書いたドキュメントとかとっておきたい。
サーバーに環境作ってiPadにキーボードつけて勉強会に参加したら楽だ。
ということでまず仮想環境作って見ようということにした。
Dockerfile を書く
Dockerfile書くの初めてなのね。
だもんで勉強した。
以下の環境を整えたい。
- 作業環境は Jupyterlab にしたい
- せっかくのJupyterlabだし、TensorFlowも入れたい
- PHPとかJSとかも書きたいのでExtensionも使えるようにしたい(おいおいね)
参考にさせて頂いた記事
DockerでJupyterLabを構築する
https://qiita.com/muk-ai/items/a147cfd2cafc57420b15
上の記事のDockerfileを少しいじってみる
今回は貧弱なサーバーに乗せることも考えてるのでCPU版のTensorflowにしておいた。
Dockerfile
FROM jupyter/datascience-notebook
# Jupyterが用意している物があるのでそれを利用する。
# これを利用する場合、jovyan というユーザーでUIDが500に設定されるようだ。
LABEL maintainer Ayumu Suzuki
# labをインストール
RUN pip install jupyterlab
# CPU版を使うならこっち
RUN pip --no-cache-dir install -I -U tensorflow
# GPU版ならこっち
# RUN pip --no-cache-dir install -I -U tensorflow-gpu
# 起動コマンド
RUN jupyter serverextension enable --py jupyterlab
docker-composeのためのYamlを書く。
ポートフォワーディングは必要ないので削除した。
docker-compose.yml
version: "2"
services:
jupyterlab:
build:
context: .
user: root
volumes:
- "./work:/home/jovyan/work"
environment:
NB_UID: 500
GRANT_SUDO: "yes"
command: start.sh jupyter lab
ビルド
$ docker-compose build
実行
$ docker-compose up
一旦ここまで