home wiki.fukuchiharuki.me
Menu

キーワード

  • Docker
  • MySQL

したいこと

Dockerで立ち上げたMySQLに別のコンテナから接続したい。

背景としては、データ移行するためのスクリプトの実行を試したいため。Dockerで立ち上げたMySQLコンテナに直接という手もあるけど、これはこれで触らずにおいておきたい。

どうやって

リンクして接続する。

Dockerで立ち上げたMySQLコンテナの名前が『mysqld』であるとして。

$ docker run -it --rm --link mysqld:dbserver mysql bash

MySQLのイメージにはmysqlクライアントもbashもある。

# env | grep DBSERVER
DBSERVER_PORT_3306_TCP_ADDR=172.17.0.2
DBSERVER_ENV_MYSQL_USER=mydb
DBSERVER_ENV_MYSQL_PASSWORD=mydb
DBSERVER_PORT=tcp://172.17.0.2:3306
DBSERVER_ENV_MYSQL_VERSION=5.7.17-1debian8
DBSERVER_PORT_3306_TCP_PROTO=tcp
DBSERVER_PORT_3306_TCP_PORT=3306
DBSERVER_ENV_MYSQL_ROOT_PASSWORD=rootpw
DBSERVER_NAME=/heuristic_wozniak/dbserver
DBSERVER_ENV_TZ=Asia/Tokyo
DBSERVER_ENV_MYSQL_DATABASE=MYDB
DBSERVER_PORT_3306_TCP=tcp://172.17.0.2:3306
DBSERVER_ENV_MYSQL_MAJOR=5.7
DBSERVER_ENV_GOSU_VERSION=1.7
#
# mysql -h$DBSERVER_PORT_3306_TCP_ADDR -u$DBSERVER_ENV_MYSQL_USER -p$DBSERVER_ENV_MYSQL_PASSWORD $DBSERVER_ENV_MYSQL_DATABASE

ノート

後で立ち上げるコンテナでボリュームのマウントをすればスクリプトを試験できそう。

参考