素でdockerを使う場合.
更新していく予定.
dockerの操作
- 開始(インタラクティブ)
-
$ sudo docker run -it IMG CMD
終了時に自動破棄するには--rm
- 開始(デモナイズ&ポート転送)
-
$ sudo docker run -d -p 8080:8080 IMG
- デタッチ
- C-p C-q
- アタッチ
-
$ sudo docker attach ID
- 停止したコンテナの再開
-
$ sudo docker start ID
- コンテナの停止
-
$ sudo docker stop ID
- 停止しプロセスのないコンテナでプロセスを実行し入る
-
$ sudo docker exec -it ID CMD
- コンテナの削除
-
$ sudo docker rm ID
- プロセス表示
-
$ sudo docker ps [-a]
- イメージ一覧
-
$ sudo docker images
- イメージの削除
-
$ sudo docker rmi IMG
dockerの作成
Dockerfileを作成する
FROM ubuntu:14.04.5 ENV http_proxy http://proxyhost:proxyport/ ENV https_proxy http://proxyhost:proxyport/ ENV APTOPT Acquire::http::proxy=${http_proxy},Acquire::https::proxy=${https_proxy} ENV APTSRC /etc/apt/sources.list ENV PYENV_ROOT /root/.pyenv ENV PATH ${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH} ENV PYENV_SHELL sh RUN set -x && \ sed -i 's/archive.ubuntu.com/jp.archive.ubuntu.com/' ${APTSRC} && \ sed -i 's/^# \(.*\)multiverse$/\1multiverse/' ${APTSRC} && \ sed -i 's/^# \(.*\)trusty-backports\(.*\)$/\1trusty-backports\2/' ${APTSRC} && \ rm -rf /var/lib/apt/lists/* && \ apt-get -o ${APTOPT} update && \ apt-get -y -o ${APTOPT} upgrade && \ apt-get -y -o ${APTOPT} install git wget && \ cd /root && \ git clone https://github.com/yyuu/pyenv.git .pyenv && \ eval "$(pyenv init -)" && \ mkdir -p /home/python && \ pyenv install anaconda3-4.1.1 && \ pyenv rehash && \ pyenv global anaconda3-4.1.1 ENTRYPOINT ["jupyter","notebook","--ip=0.0.0.0","--port=8080","--notebook-dir=/home/python"]
イメージをビルドする
$ sudo docker build -t REPOSITORY:TAG PATH
Dockerfileの置いてあるディレクトリ内で実行する時は,PATHは.
で良い.