Dockerメモ備忘録(常に追記)
dockerコンテナ取得
docker pull kaixhin/cuda-caffe
# https://hub.docker.com/に色々ある
dockerイメージ一覧取得
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lasagne_image4 latest 386ab9f1c3d2 7 days ago 1.85 GB
lasagne_image3 latest 34fd018c5f54 7 days ago 1.83 GB
lasagne_image2 latest 2cd1f55da8b2 9 days ago 1.78 GB
lasagne_image1 latest 9e4228d01df1 9 days ago 1.78 GB
pycharm_helpers PY-171.3780.115 e64bec1a86c4 3 weeks ago 25.8 MB
<none> <none> 61456b2b077f 3 weeks ago 797 MB
mathewlee11/pycaffe latest aeb933d9e92c 2 years ago 1.76 GB
# pullしたやつがここに入る
dockerイメージからコンテナ起動
docker run -it mathewlee11/pycaffe
# -iと-tは、標準出力などをローカル上に表示するためのオプションで必須。
コンテナの確認
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c9f8dfb8c26b lasagne_image4 "/bin/bash" 2 days ago Up 51 minutes jovial_blackwell
# -aで止まってるコンテナも合わせて確認できる。
dockerコンテナからイメージを保存(作業した状態を保存)
# docker上で作業した後、CTRL-p+CTRL-qでコンテナをdetach(exitしちゃダメ)
# コンテナIDを確認
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c9f8dfb8c26b lasagne_image4 "/bin/bash" 2 days ago Up 51 minutes jovial_blackwell
# docker commit。使い方は、docker commit -m 'some comments' <container id> <image name>
docker commit -m 'caffe_work' c9f8dfb8c26b caffe_test1
sha256:b2a54bfcff38534b586f569530d12a6ad9aeaf868e7db73360325cbaea308713
# 保存したイメージを確認
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
caffe_test1 latest b2a54bfcff38 2 days ago 2.67 GB
# 次からは、docker run -it caffe_test1で利用可能。
# detachしたイメージは、docker attach <container id>で再開可能。
dockerコンテナの削除
# docker ps -aで調べたidを使って
docker rm <container id>
dockerイメージの削除
# docker imagesで調べたREPOSITORYを使って
docker rmi <REPOSITORY>
ローカルとdockerコンテナ間のファイル共有
# 起動時に-vオプションで指定 -v local_dir:remote_dir
docker run -it -v /path/to/local/:/path/to/remote/ caffe_test1
# オプションの順番を守らないとダメ。docker run -it hoge -v hoge:fugaだと怒られる。
# あと、ローカル側は、/tmp,/Users,などじゃないとダメっぽい。(公式ドキュメントをどっかで見た記憶があるけど、どれかわからなかったw)
docker時のbashrcについて
何故か変更が反映されなかった。ただし、中で呼んでいる別のファイル(ex ~/.bash_aliases)の変更は反映されたので、これを変えてログイン時の処理を記述した。