#dockerは便利なのですが、コマンドをいちいちコピペするのが徐々に面倒くなり...
当初からdocker-composeを使おうとしていたのですが、dockerコマンドとの対応がわからず後回しにしていました...
しかし、コンテナを落としてしまった後に同じ環境に戻して起動するのが面倒くさくなってきたので、使用することにしました( ゚Д゚)(Dockerfileを使えばいいだけですが...)
docker-composeを使用することで複数のコンテナを管理することが容易になります。(kubernetesも使ってみたいですね)
とりあえず試しに環境構築しました。ディレクトリの構成は以下の通りです。(pythonのanacondaしか使っていないので1つしかありませんが...)
docker
│ docker-compose.yml
│
└─build
└─app
└─anaconda3
Dockerfile
自分用の『Dockerfileとdocker-compose.yml』を一度作ってしまえば、基本コマンドをうつだけでコンテナが起動したので、ちょっと感動しました(*‘ω‘ *)
anacondaでjupyter notebookを使う環境作るためのDockerfileと、起動用のdocker-compose.ymlを作成してみました。内容は以下の通りです。
docker-compose.yml
---------------------------------------------------
version: '2'
services:
anaconda3:
build: ./build/app/anaconda3
tty: true
ports:
- "8888:8888"
volumes:
- 自分作業のディレクトリ:/opt/notebooks
Dockerfile
---------------------------------------------------
FROM continuumio/anaconda3
RUN apt update -y && \
apt install -y --no-install-recommends \
git && \
rm -rf /var/lib/apt/list/* /var/cache/apt/archives/*
RUN mkdir /opt/notebooks
RUN conda install -c conda-forge selenium
RUN conda install -c conda-forge phantomjs
RUN conda install -c clinicalgraphics chromedriver
CMD bash -c "conda install jupyter -y --quiet && jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --no-browser --allow-root"``
ファイルを作り終わったら以下のコマンドを打てばコンテナが立ち上がります。
まず、イメージファイルを作ります。
docker-compose build
次に、イメージからコンテナを起動します。
docker-compose up
コンテナを止めたければ、以下のコマンドですべてのコンテナが停止します。
docker-compose down
以上、自分用のメモとしてまとめました。今度はkubernetesも使ってみたいですね('ω')