[Docker, portainer.io, mariadb, HeidiSQL] mariadb コンテナの追加と、クライアントからの接続

portainer.io を使わない方法は操作を見て dockerコマンドに置き換えとのこと

mariadb導入

Add container でイメージに「mariadb」を指定
追加で下記を設定する

  • Network ports configuration
    • Manual network port publishing で 3306/tcp を公開する
  • Advanced container settings
    • Env
      • MARIADB_ROOT_PASSWORD を設定する
        ※ 以後 Container details でも参照可能な値となるので、パスワード管理に注意

公開されたDBを参照する

HeidiSQL の例、他クライアントでも同様

  • セッションマネージャー 画面
    • 新規
      • ホスト名 / IP : Dockerが稼働しているサーバーのIP
      • ユーザ : root
      • パスワード : MARIADB_ROOT_PASSWORD で指定したパスワード
      • ポート : 「Manual network port publishing」で設定したポート

Q. データを永続化したい

2023/5/11 時点、実は自動的に永続化されるように導入される
Volumes を参照すると /var/lib/mysql に対して volume が1件割り当てられている
これのおかげでコンテナを作り直してもデータは失われない

logファイルを永続化したい場合は /var/log/mysql を同様に Volume へ切り出せばよい

Docker compose にすると

services:
  mariadb:
    image: mariadb:latest
    volumes:
      - mariadb-data:/var/lib/mysql
      - mariadb-log:/var/log/mysql
    environment:
      - MARIADB_ROOT_PASSWORD=password
    ports:
      - "3306:3306/tcp"

volumes:
  mariadb-data:
  mariadb-log:

※ 補足:volumes: の中身は何も書かれていないが、これで動作する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Share via
Copy link