dockerでpython環境を整えて、docker hubにimageを上げる
anaconda3が入ったimageを使おう
docker公式がanaconda3を入れたimageを用意しているっぽいです。
https://hub.docker.com/r/continuumio/anaconda3/
それが、これ。
anacondaが最初から入っていれば、とても便利ですね。
imageをpullする。
$ sudo docker pull continuumio/anaconda3
pullにめちゃめちゃ時間がかかりました。
pullが終わったら、とりあえず使ってみたいのでコンテナを立ち上げる。
$ sudo docker run -it continuumio/anaconda3 /bin/bash
pythonが動くか試してみる。
$ python
動く!
用が済んだら適当にexit。
$ exit
動かしたコンテナのIDを確認する
$ sudo docker ps -a
idは、5ab62f54269fc。
オリジナルのimageを作成する
exitで抜けると、dockerコンテナは停止状態になります。
そのため、もう一度そのコンテナにログインするには稼働状態にする必要があります。
IDを指定してコンテナをstart。
$ sudo docker start 5ab62f54269fc
これで稼働状態になったので、ログイン。
作成したdockerにログインする。
$ sudo docker attach 5ab62f54269fc
ログイン後は、適当に自分が欲しいライブラリをインストールしたり、
仮想環境も作ってみたり。
$ conda create -n py3 python=3.4 $ pip install flask
適当にファイルをローカルからdockerコンテナにコピーしてみたり。
sudo docker cp bot 8eba6785543a:/root/
イメージ通りのimageになったら、コミットしてimageを作成する。
sudo docker commit 8eba6785543a user_name/chatbot
このときimageの名前は、ユーザー名/プログラムの内容(任意)にするのが決まりみたいです。
ユーザー名というのは、dockerにユーザー登録をした時のユーザー名。
imageの作成が終わったら、それをdocker hubにpushして共有する。
$ sudo docker login $ sudo docker push user_name/chatbot
user_nameに、dockerのユーザー登録をした時のものを使っていなかったエラーが発生する。
エラーなく終われば、docker環境のあるPCであればどこからでもpullすることができるはず。
$ sudo docker pull user_name/chatbot
まとめ
以上、終わり!