このページのコンテンツ
概要
今回は、すでにchainerがインストールされているDockerイメージに少しだけ手を加えて、OpenCVとJupyter Notebookが使えるようなイメージを作成します。GPUをDocker上で使うためにはdockerコマンドの代わりにnvidia-dockerコマンドを使う必要がありますが、GPUコードを書かない場合にはdockerで十分です。CentOS7へのDockerのインストール方法はこちら。
Dockerfile
#Dockerfile FROM chainer/chainer COPY Anaconda3-5.0.1-Linux-x86_64.sh /opt # install anaconda3 RUN apt-get update -y RUN apt-get install -y wget bzip2 ca-certificates \ libglib2.0-0 libxext6 libsm6 libxrender1 \ git mercurial subversion RUN echo 'export PATH=/opt/conda/bin:$PATH' > /etc/profile.d/conda.sh && \ /bin/bash /opt/Anaconda3-5.0.1-Linux-x86_64.sh -b -p /opt/conda && \ rm /opt/Anaconda3-5.0.1-Linux-x86_64.sh ENV PATH /opt/conda/bin:$PATH RUN pip install opencv-python RUN pip install jupyter chainer RUN apt-get install -y nano \ && rm -rf /var/lib/apt/lists/*
イメージのビルド
AnacondaのサイトからAnaconda3-5.0.1-Linux-x86_64.shを先にダウンロードしてDockerfileと同じディレクトリに入れておきます。
ls ------------------------------ Anaconda3-5.0.1-Linux-x86_64.sh Dockerfile ------------------------------
docker build -t chainer_jupyter . ------------------------------ Successfully tagged chainer_jupyter:latest ------------------------------
起動
nvidia-dockerを使います。GPUコードを書かない場合にはdockerで十分です。ホストの8888番ポートを起動するイメージの8888番ポートに転送します。表示されるURLにアクセスすればJupyterが表示されるはずです。Dockerをリモートで起動している場合には、http://0.0.0.0:8888/?token=a530bd6d2cf2ca23f6e279a7c424c5c7a076484fbde192f8の0.0.0.0の部分だけ、そのリモートのIPに置き換えます。
nvidia-docker run -it -p 8888:8888 chainer_jupyter:latest /bin/bash cd home && jupyter notebook --ip=0.0.0.0 --allow-root ------------------------------ Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://0.0.0.0:8888/?token=a530bd6d2cf2ca23f6e279a7c424c5c7a076484fbde192f8 ------------------------------
Dockerのファイル掃除
いろいろ試行錯誤しているうちに余計なファイルが溜まるので、その削除方法です。
docker rm $(docker ps -aq) #すべてのコンテナを削除 docker images | awk '/<none/{print $3}' | xargs docker rmi #タグがnoneになっているimageを削除