Help us understand the problem. What is going on with this article?

Dockerで使い捨て可能なテストコンテナを定義する

More than 5 years have passed since last update.

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
TakamiChie
NPO法人 まちづくりエージェント SIDE BEACH CITY.理事。フリーランスのプログラマ。横浜・横須賀でIT勉強会の主催などをやってます。
https://onpu-tamago.net/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away