MariaDB-Drupal#
Lagoonの mariadb-drupal
Dockerイメージ Dockerfile は、LagoonのDrupalプロジェクト内で使用するためにカスタマイズされた mariadb
イメージです。 mariadb
イメージとの違いは、初期データベースのセットアップのみで、これはいくつかの環境変数によって行われます:
環境変数 | デフォルト | 説明 |
---|---|---|
MARIADB_DATABASE |
drupal | 起動時に作成されるDrupalデータベース。 |
MARIADB_USER |
drupal | 起動時に作成されるデフォルトのユーザー。 |
MARIADB_PASSWORD |
drupal | 起動時に作成されるデフォルトのユーザーのパスワード。 |
LAGOON_ENVIRONMENT_TYPE
変数が production
に設定されている場合、パフォーマンスは MARIADB_INNODB_BUFFER_POOL_SIZE=1024
および MARIADB_INNODB_LOG_FILE_SIZE=256
を使用してそれに応じて設定されます。
その他のMariaDB ログ#
開発の過程で、クエリログまたはスロークエリログを有効にする必要があるかもしれません。そうするためには、環境変数 MARIADB_LOG_SLOW
または MARIADB_LOG_QUERIES
を設定します。これは docker-compose.yml`.
ホストからMySQLコンテナへの接続#
Dockerコンテナ内のMySQLデータベースにSequel Pro、MySQL Workbench、HeidiSQL、DBeaver、mysql-cli
などの外部ツールから接続したい場合、IPアドレスとポート情報を取得する方法をここに示します。
コンテナから公開MySQLポートを取得する#
デフォルトでは、Dockerは各コンテナ開始時にMySQLの公開ポートをランダムに割り当てます。これはポートの衝突を防ぐために行われます。
docker
を使って公開ポートを取得するには:
実行:docker port [container_name]
。
または、Drupalリポジトリ内でdocker-compose
を使って:
実行:docker-compose port [service_name] [internal_port]
。
静的ポートの設定(非推奨)#
開発中に外部のデータベースツールを使用している場合、MySQL接続ポートを常に確認し設定するのは面倒になるかもしれません。
静的ポートを設定するには、編集してください あなたの docker-compose.yml
でのサービス定義。
mariadb:
...
ports:
- "33772:3306" # ポート3306をホストポートの33772で公開します。これを行うことで、ポートの衝突を管理する責任があなたにあります。
警告
静的ポートを設定すると、ポートの衝突を管理する責任があなたにあります。
MySQLへの接続#
これらの詳細を使用して、お好みのデータベース管理ツールに接続できます。
Linux | OS X | |
---|---|---|
IP/ホスト | コンテナからのIP | docker.amazee.io |
ポート | コンテナから公開されたポート | コンテナから公開されたポート |
ユーザー名 | drupal |
drupal |
パスワード | drupal |
drupal |
データベース | drupal |
drupal |