Dockerでテスト用のコンテナを作る場合、基本的にはDocker HubのUbuntuリポジトリなどを使います。
> sudo docker run -i -t ubuntu:trusty /bin/bash
ただ、これだと何かを試すときに必ずapt-get update
などを行わなければならず、時間の無駄です。
そのため、まずは自分がテストに使うベースイメージを作っておき、毎回それをベースにしてやる感じがベターです。
Dockerfile
FROM ubuntu
MAINTAINER [メンテナーの名前]
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get -y install curl
そして、次のようなコマンドでイメージを作っておきます。
> sudo docker build -t takamichie/base .
こうしておけば、いざテストコンテナが欲しいときに、以下のコマンドでテストコンテナを作成してシェルに入れます。
build.sh
#!/bin/sh
sudo docker run -i -t $* takamichie/base /bin/bash
何度も使うと思うので、あらかじめシェルスクリプトなどを作成しておくと、疑問がわいたときにすぐコンテナを作れていい感じです。
また、-v
オプションなどでコンテナ内で使うコンテンツをまとめたディレクトリを指定しておくと、コンテンツのテストなどがしやすくてとても良いですね。
build.sh
#!/bin/sh
sudo docker run -i -t -v [CoreOS上にある共有したいディレクトリパス]:[コンテナ上で、共有したディレクトリがマウントされるパス]:r $* takamichie/base /bin/bash