このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:環境変数で設定する!Docker ComposeによるMariaDBコンテナ構築手順

環境変数で設定する!Docker ComposeによるMariaDBコンテナ構築手順

Docker Composeを使えば、データベースの環境構築もとっても簡単!
 ここでは、環境変数(environment) を使って設定を自動化しながら、MariaDBコンテナを構築する手順をやさしく解説していきます。

 「compose.yaml」ファイルに必要な設定をまとめて記述するだけで、すぐに自分専用のデータベース環境が立ち上がります!

作業前のクリーンアップ

まずは環境をリセットして、余計なコンテナやイメージを整理しましょう。
Dockerを長く使っていると、古いテストコンテナや不要なボリュームが残っていることがあります。

💡実行コマンド

docker system prune -a

このコマンドは以下のものを削除します👇

削除対象説明
停止中のコンテナ動いていないコンテナを削除します。
未使用のイメージ現在のコンテナで使われていないイメージを削除します。
未使用のネットワークどのコンテナにも紐づいていないネットワークを削除します。
ビルドキャッシュ古いキャッシュを削除してディスクを軽くします。

もしボリュームが残っていれば、以下で削除しておくとさらにスッキリします。

docker volume prune

実行結果

PS C:\Users\joeac> docker system prune -a
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] y

(省略)

PS C:\Users\joeac> docker volume prune
WARNING! This will remove anonymous local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y

(省略)

残っているオブジェクトがあれば、Docker Desktopで削除しておきます。

 ここでは、コマンドを使ってDockerオブジェクトを削除する方法を紹介していますが、Docker Desktopを使ってDockerオブジェクトを削除する方が圧倒的に便利で楽です。

MariaDBとは?

MariaDB(マリアディービー) は、オープンソースのリレーショナルデータベース管理システム(RDBMS)です。
MySQLの派生版として生まれましたが、互換性を保ちながら機能や性能を強化しています。

🌐公式サイト

MariaDBのサイト:https://mariadb.org/

特徴をざっくりまとめると👇

特徴説明
高い信頼性多くの企業やシステムで利用されており、安定性が抜群。
MySQL互換MySQLと同じSQL文・ドライバで動作します。
オープンソース商用利用も可能な完全無料のデータベース。
高速・拡張性パフォーマンスの最適化と豊富なストレージエンジンをサポート。

MariaDB公式イメージと環境変数

MariaDBをDockerで使う場合、Docker Hub にある公式イメージを利用します。
まずはこちらをチェックしておくと安心です👇

Docker HubののMariaDBのURL:https://hub.docker.com/_/mariadb

 MariaDBイメージからコンテナを作成する際に環境変数を定義しておく必要があります。あらかじめ、どのような環境変数を定義しておく必要があるのかを、Docker Hub上のMariaDBのページなどで確認しておきます。

 このページには、MariaDBコンテナの動作に関する情報や、設定できる環境変数が記載されています。

✅主な環境変数一覧

環境変数説明
MARIADB_ROOT_PASSWORDrootユーザーのパスワードを設定します。
MARIADB_DATABASE起動時に作成するデータベース名を指定します。
MARIADB_USER新規ユーザーを作成します。
MARIADB_PASSWORD上記ユーザーのパスワードを設定します。

これらの環境変数を設定することで、
コンテナ起動時に自動的に初期設定が完了 します。

たとえば、rootパスワードやユーザー情報を手動で設定する必要がなくなるんです。

環境変数の仕組みを理解しよう

環境変数は、コンテナの設定値を外部から渡すための仕組み です。
データベース名や認証情報をアプリケーションに渡すときに非常に便利!

🔍環境変数を使うメリット

メリット内容
柔軟な設定変更コンテナを再起動するだけで設定を変更できる。
セキュアパスワードなどをコードに直書きせず安全に管理。
再利用性同じComposeファイルを他の環境でも流用可能。

コンテナの実行時に設定を渡す方法としては、

  • docker run -e オプションを使う方法
  • Docker Composeの environment: セクションで定義する方法

の2通りがあります。
今回はもちろん、後者(Docker Compose)で設定します!

Docker Composeファイルの作成

📁ディレクトリの準備

まずは作業フォルダを作成して移動します。

cd desktop/docker
mkdir mariadb
cd mariadb

実行結果

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> mkdir mariadb

    Directory: C:\Users\joeac\Desktop\docker

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2025/10/07     1:00                mariadb

PS C:\Users\joeac\Desktop\docker> cd mariadb
PS C:\Users\joeac\Desktop\docker\mariadb>

✍️ compose.yaml の作成

次に、VS Codeを起動してcomposeファイルを作成します。

code compose.yaml

実行結果

PS C:\Users\joeac\Desktop\docker\mariadb> code compose.yaml

VSCodeが起動します。

開いたら以下の内容を記述して保存します。

services:
  testdb:
    image: mariadb:10.8
    environment:
      MARIADB_ROOT_PASSWORD: root-pass
      MARIADB_DATABASE: test-db
      MARIADB_USER: test-user
      MARIADB_PASSWORD: user-pass
    volumes:
      - db-data:/var/lib/mysql
volumes:
  db-data:

🧩ファイル構成のポイント解説

設定項目内容
image使用するMariaDBの公式イメージ。ここではバージョン10.8。
environmentMariaDBコンテナの動作を制御するための環境変数を定義。
volumes永続化用ボリューム「db-data」をMariaDBデータディレクトリにマウント。※MariaDB ですが mysql を指定します。
db-dataComposeの下部で定義されたボリューム(データ保存用)。

これで、起動するだけで
✅ データベース作成
✅ ユーザー作成
✅ 永続ボリューム設定
まで自動的に行われます!

コンテナの起動

Composeファイルができたら、いよいよ起動です!

docker compose up -d

 このコマンドは、カレントディレクトリにある「compose.yaml」を読み取って必要なネットワーク・ボリューム・コンテナを自動的に作成します。

💡主なオプション解説

オプション説明
-dバックグラウンドで実行(デタッチドモード)。
--buildイメージを再ビルドしてから実行(必要に応じて使用)。
--remove-orphans古い不要なサービスを削除して起動。

実行結果👇

PS C:\Users\joeac\Desktop\docker\mariadb> docker compose up -d
[+] Running 9/9
 ✔ testdb Pulled                                                                12.1s
   ✔ be365127aa3f Pull complete                                                  0.9s
   ✔ d1669123f281 Pull complete                                                  3.7s
   ✔ 9c0f0b5293ed Pull complete                                                  1.2s
   ✔ 7942299fe584 Pull complete                                                  0.8s
   ✔ ee0988afd61a Pull complete                                                  1.1s
   ✔ ca116927bbe1 Pull complete                                                  4.1s
   ✔ 82d81fccd49d Pull complete                                                  8.5s
   ✔ 7e361405ea73 Pull complete                                                  1.2s
[+] Running 3/3
 ✔ Network mariadb_default     Created                                           0.1s
 ✔ Volume mariadb_db-data      Created                                           0.0s
 ✔ Container mariadb-testdb-1  Started                                           1.0s

Container mariadb-testdb-1 Started」と表示されたら成功です! 🎉

イメージで理解する構成

MariaDBコンテナ構築の流れを図で見るとこんな感じ👇

まとめ

ここまでで、Docker ComposeでMariaDBコンテナを構築する手順 がすべて完了しました!

おさらいすると👇

  • MariaDBはMySQL互換のオープンソースDB
  • Docker Hubの公式イメージを利用する。
  • 環境変数で初期設定(DB名・ユーザー・パスワード)を自動化
  • Composeでボリュームを設定すればデータも永続化できる。

この方法を覚えておくと、
「環境構築が一瞬で終わる」「設定がミスなく再利用できる」
という2つの大きなメリットが得られます✨

 次の記事では、今回作成したMariaDBコンテナに実際に接続して、コマンドを実行する方法を紹介していきます。お楽しみに! 🚀