LoginSignup
24
25

More than 5 years have passed since last update.

テスト環境をDockerで作成する(準備)

Posted at

■Dockerを使う目的

テスト用のVMを毎回作成するのが手間だったため、Dockerで1個のVMの中に複数のサーバを立てよう!ということになりました。
(Vagrantを使用すればVM作成はそれほど手間でもない気がしますが、複数のVMが乱立しカオスになりそうなためこれは却下で)

image.png

■事前準備

今回はVirtualBoxにCentOS 7環境を用意し、そこにDockerをインストールします。
CentOSへのDockerのインストールは、公式サイトに記載されています。
「Install」の章を実行し、docker versionコマンドでバージョンを確認したところ「1.9.1」がインストールされていました。

■DockerでDBサーバを動かしてみる

Dockerがどんなものかまだピンときていないので、DBサーバ(MySQL5.7)を動かして掴んでみたいと思います。流れとしては、

  1. コンテナ実行用のイメージを用意(Docker Hubからダウンロードできる、Dockerfileで自作することもできる)
  2. イメージからコンテナを作成
  3. コンテナを実行

たったのこれだけのようです。
今回はDocker Hubからダウンロードしてみます。

1. コンテナの実行用イメージをダウンロード

Docker Hubで「mysql」で検索したところ、公式のイメージがありました。以下のコマンドでダウンロードします。
$ docker pull mysql

ダウンロードが完了したら、念のため以下のコマンドでダウンロードされているか確認しておきます。
$ docker images

2. イメージからコンテナを作成 & 実行

docker runコマンドで、コンテナの作成と実行が同時に行われるようです。
こちらにコマンドが記載されているので、とりあえず叩いてみます。
$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=test_pass123 -d mysql:latest

バックグラウンドで実行されているようなので、以下のコマンドで実行されているか確認してみます。
$ docker ps

3. 実行中のコンテナ内でコマンドを叩く

MySQLは動いているようですが、実際にコマンドを叩いてMySQLの動作を確認したい場合、以下のコマンドでコンテナ内でコマンドが叩けるようになります。
$ docker exec -it mysql bash
「mysql」の部分はコンテナID(docker psコマンドで確認できる)でもいけます。

抜けるときはexitで抜けられます。


とりあえずDockerでMySQLを動かすところまでできました。
いろいろ試して理想形まで持っていきたいと思います。

24
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
25