DockerでPythonの開発環境を構築してみたくなったお話
タイトルの通りですが、改めてpyenv + conda の仮想環境による開発も悪くないなと思ったものの、docker使えるほうがよりチーム開発とかで役に立ちそうであったり、なにより立ち上げたり潰したりが楽と聞いて、そろそろ行動に移さないとなと思ってメモ代わりに記事にすることに。
環境構築環境
docker の インストール
brew cask install docker
でインストール。まぁまぁ時間がかかる。インストール後は起動して設定をしてもらう。
fish から docker コマンドを実行できるようにする。
次にfish shellを使っていたためdockerコマンドが通常ならうまく動かないので、
をつかってdockerを使えるようにする。
fisher docker-completion
を実行して入れる。するとfishでもdockerコマンドが使えるようになる。やったね。
docker でコンテナ作成と jupyter の立ち上げ
あとはdockerのイメージを入れてみるだけ。今回はtestとしてdockerからjupyterを立ち上げてみることに。
docker pull jupyter/datascience-notebook docker images jupyter/datascience-notebook
容量は5gbくらいでなかなか大きいのでpullする際にはご注意を。
さぁここから起動しようとするも詰まってしまった。
docker run -d --name jupyter-p 8888:8888 jupyter/datascience-notebook
1回目はうまくいくものの2回目以降エラーを吐いてしまう。どうやら同じコンテナを立ち上げようとして衝突しているみたい。そりゃコンテナ作ったのに同じの作ろうとしたら怒るわな。
というわけで改めてコマンドを調べなおして、コンテナを起動する。
docker start jupyter
これでコンテナが起動する。その上で、
docker exec -it jupyter /bin/bash/
すると無事中へ。中では環境構築されたコンテナがお出迎え。コンテナ内にて
jupyter notebook
すると、自分の環境でjupyterが立ち上がる。
とりあえず起動することができたので一段落。一通りの流れがなんとなくわかったので、後はローカル環境とのディレクトリの共有であったりもっと細かいところを探っていこうと思います。環境構築は闇深いけどできたときの喜びもひとしおですな。
参考サイト
https://unicorn.limited/jp/item/347
https://qiita.com/m-shimao/items/c83472850a69797d9679