LoginSignup
0
0

More than 3 years have passed since last update.

Dockerでテストの時だけDBを立ち上げるスクリプト

Posted at

概要

CIでテストの時だけ一時的にDBを立ち上げ、テストが終わったら削除したいってことありませんか?
Dockerを使ってそれを行うスクリプトです。

スクリプト

#/bin/sh

CONTAINER_ID=`docker run --rm -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=test_db -e TZ=Asia/Tokyo -d mysql:5.6 mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci`
CONTAINER_IP=`docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $CONTAINER_ID`

trap finally EXIT
function finally {
    docker stop $CONTAINER_ID
}

until docker run --rm busybox nc -z -v -w30 $CONTAINER_IP 3306
do
  echo "Waiting for database connection..."
  sleep 3
done

# ここでテストを実行する(DB名やパスワードなどは実行パラメータか環境変数で指定する)
0
0
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
0
0