素で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は.で良い.
