Dockerを引き続き勉強中。
Dockerで構築したPHP7の環境でSOY CMSを動かしてみる
本当はPHP7のコンテナからMySQLのコンテナを利用したいんだけど、
いまいちよくわかってないので、
練習として、ホストからMySQLのコンテナにアクセスしてみることにした。
まずは、MySQLのイメージを作成
mysql ├── Dockerfile └── charset.cnf
mysqlディレクトリを作成して、Dockerfileとcharset.cnfを用意
Dockerfileは
FROM mysql #MySQLの文字コードの変更 COPY charset.cnf /etc/mysql/conf.d/
charset.cnfは
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8
ここまで準備できたら、
docker build -t mysqlserver .
ビルドを行い、
docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysqlserver latest 2cc4ba5ce283 5 seconds ago 361.3 MB
イメージが生成されたことを確認。
このイメージを利用してコンテナを下記のコマンドでコンテナを作成する。
docker run -it --name mysqlsev -e MYSQL_ROOT_PASSWORD=pass -p 12345:3306 mysqlserver
これで、IDがroot、Pwがpass、ポートが12345のMySQLサーバができた。
別の端末を開き、ホストからMySQLサーバのコンテナのMySQLにログインしてみる。
mysql -u root -p -h 127.0.0.1 -P 12345 Enter password:
Enter password:でpassと入力してエンターキーを押すと、
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.11 MySQL Community Server (GPL) Copyright (c) 2000, 2015, 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>
これでコンテナ内のMySQLに接続出来ました。