DockerからDocker-Composeへ:快適なプログラミング環境を目指して

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も使ってみたいですね('ω')