2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[さくっと] dockerでお気軽mysql

Last updated at Posted at 2017-01-10

目的

「さくっとローカルで検証したい」って時に使えるかも。

環境

基本的にはDockerが動く環境で使えます。

※ 記事内ではsudo無しでdockerを使ってますが、環境によって異なるのでよしなに書き換えてください。

(早速)結果

  • runするコマンド
cmd
$ docker run --name ${CONTAINER_NAME} -e MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD} -d mysql/mysql-server:5.7

このワンライナーでDocker Hubから、mysql-server 5.7をpullして、バックグランドで動かしてくれます。

  • 立ち上がったコンテナにmysql loginするコマンド
cmd
$ docker exec -it ${CONTAINER_NAME} mysql -uroot -p${MYSQL_PASSWORD}

実際のデモ

コンテナ名 = iganari-db
password = hogehoge

で実際にやってみる。

$ docker run --name iganari-db -e MYSQL_ROOT_PASSWORD=hogehoge -d mysql/mysql-server:5.7
Unable to find image 'mysql/mysql-server:5.7' locally
5.7: Pulling from mysql/mysql-server
acdfbb1a4f2d: Pull complete
0879db9c7538: Pull complete
c47bf518d00d: Pull complete
4b2092301be6: Pull complete
Digest: sha256:06d85ad36068257137d113ede1d37623da19e91b7971068e838e8e7e1258a726
Status: Downloaded newer image for mysql/mysql-server:5.7
3b1fae616ee0763caee1b397a8ad87402529274ab30f3a15156f2d395b195260
$
$
$ docker exec -it iganari-db mysql -uroot -phogehoge
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

IPを付与して、Mysql remote login

上記だとちょっとreadmeそのままなので、コンテナにIPアドレスを付与して、プログラムからremote login出来るようにしておく。(ついでに名前解決もしてみる。)

docker用のネットワーク(192.168.56.0/24)を作成

$ docker network create --subnet=192.168.56.0/24 user_defined_nw
  • IP:192.168.56.100のIPを固定して、docker run
$ docker run --name iganari-db -e MYSQL_ROOT_PASSWORD=hogehoge --net=user_defined_nw --ip=192.168.56.100 -d mysql/mysql-server:5.7

まとめ

本当にさくっと使いたいときだけ。
ただ、ローカル開発環境のDBはこれに少し手を入れたもをimageとして固めて於いて、必要な時にrunすれば十分かな〜という感じでした。

追記(2017/01)

上記の「お気軽mysql」はdbが日本語入力に対応していません。
また環境変数の関係でそもそもコンソールが日本語を受け付けません。

お気軽mysqlしたいけど、日本語はもちろん対応してるよね!って方は下記を参照して下さい。

[さくっと] dockerでお気軽mysql [日本語対応]

2
5
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
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?