参考(docker-compose.yml) docker-compose.yml version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
expose:
- 3306
ports:
- 127.0.0.1:3306:3306
logging:
options:
max-size: "10k"
max-file: "5"
schemaspy:
image: schemaspy/schemaspy
depends_on:
- db
container_name: schemaspy
volumes:
- ./docker/schemaspy/output:/output
- ./docker/schemaspy/config:/config
command: [ "-configFile", "/config/schemaspy.properties" ]
schemaspy-server:
image: nginx
depends_on:
- schemaspy
container_name: "nginx_for_schemaspy"
ports:
- "8888:80"
volumes:
- ./docker/schemaspy/output:/usr/share/nginx/html:ro
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
driver: local schemaspy.properties schemaspy.t=mysql
schemaspy.host=127.0.0.1
schemaspy.port=3306
schemaspy.db=wordpress
schemaspy.u=wordpress
schemaspy.p=wordpress
schemaspy.s=wordpress t はデータベースのタイプ(mysql,postgresql など) host はホスト(データベースのエンドポイント) port はポート db は show database とか \l ででてくる データベース u は ユーザー名 p は パスワード s はスキーマ( mysql では スキーマ=データベースらしい)。本当かわからないが db と同じ値をいれておく 起動方法 ファイル名が docker-compose.yml の場合(とりあえずビルド入れてます) docker-compose up -d --build ファイル名が docker-compose.yml 以外の場合(今回は docker-compose.wordpress.yml ) docker-compose -f docker-compose.wordpress.yml up -d docker-compose -f docker-compose.wordpress.yml down
schemaspy のコンテナについて db の ports で localhost の ip アドレスを書く理由は以下のエラーがでるため org.schemaspy.input.dbms.exceptions.ConnectionFailure: Failed to connect to database URL [jdbc:mysql://127.0.0.1:3306/wordpress] Communications link failure schemaspy を docker-compose.yml で作っているのは schemaspy-server のアクセスが以下のコマンドだとできなかったため docker run -v "$PWD/html:/output" -v "$PWD/docker/schemaspy/config/schemaspy.properties:/schemaspy.properties" schemaspy/schemaspy:latest -debug 実際に見てみる 以下のURL をブラウザに入力または docker/schemaspy/output/index.html をファイルエクスプローラーから開くhttp://localhost:8888 実際の画像 デフォルトだとテーブル 12 個しかないらしい プラグインによってはテーブル増やすかもしれない 結論 schemaspy は便利 android studio でも使える方法募集