DockerでMariaDBのコンテナにデータ同期

俺的メモ

Posted by めろん on 2024/10/21 01:49

データ同期

  mariadb:
    image: mariadb:latest
    container_name: mariadb
# データファイルの同期。予めコンテナ内のファイルをホストディレクトリに保存しておくこと
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=hogehogehiihaaa
      - MYSQL_ROOT_USER=hogeeeeeaaann
      - MYSQL_USER=fd3s
      - MYSQL_PASSWORD=hyahyuuuuuuuuu
      - MYSQL_DATABASE=initialbbbbbbbbbbb
      - TZ=Asia/Tokyo
    ports:
      - "6000:3306"
    expose:
      - "6000"

    # コンテナ起動確認
    healthcheck:
        test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ]
        interval: 20s
        retries: 3
        timeout: 120s

まず、最初にコンテナを作成してデータファイルの同期をとらないとコンテナを停止して起動する度にデータが消えます。
正確には、ホストを再起動してコンテナ起動した場合にデータが飛んで慌てることになります。
Dockerはボリュームの同期をとる場合は予めホスト側のディレクトリにファイルがないと失敗します。

次のコマンドでコンテナからMariaDBのデータファイルをホストのディレクトリにコピーします。






コンテナIDは「docker ps」ででてくるよ。

名前がmysqlじゃねーかって突っ込みはMariaDBができた歴史を知っていれば分かるかと(;'∀')

しかしOracleは最近は完全に大企業向けデータベースになってしまったなあ。