inflearn logo
知識共有
inflearn logo

Dockerで起動したMySQL・PostgreSQLをデータを失わずに運用する――現役DBAが再現するコンテナDBの事故30選

DockerでDBを起動して使っているなら。down -v・prune・フォルダ名・パスワードの環境変数・10秒での終了・メモリ上限・イメージタグ・ボリュームのコピーによるバックアップまで、データを消失させたり読み取れなくしたりする30のケースを自分のPCで再現し、DBログから原因を読み解いたうえで、時点復旧で復元する方法まで学びます。

1名 が受講中です。

難易度 中級以上

受講期間 無制限

MySQL
MySQL
database
database
Docker
Docker
PostgreSQL
PostgreSQL
MySQL
MySQL
database
database
Docker
Docker
PostgreSQL
PostgreSQL

この講座で身につくこと

  • 現在使用中のComposeファイルで、データが消失するコマンド・設定(down -v、prune -a、プロジェクト名、匿名ボリューム、--rm)を特定します。

  • パスワード・初期化スクリプト・ヘルスチェックのように「最初の一度だけ」動作するものの落とし穴を避けます。

  • 強制終了と復旧ログを確認し、終了待機時間・メモリ上限・共有メモリ・ディスク容量をDBに合わせて設定します。

  • タイムゾーン・文字セット(ハングルの文字化け)・ソート規則がコンテナ内でいつの間にか変わってしまう箇所を確認し、修正します。

  • イメージタグを固定し、MySQL 8.0→8.4・PostgreSQL 16→17へのアップグレードをボリュームのコピーでリハーサルします。

  • 一貫性のあるバックアップを取得して復元時間を計測し、バイナリログ(GTID)・WALアーカイブを使って、誤操作の直前の時点まで復元します。

「このコマンド一つで、DBを消してしまうことはあるだろうか?」

DockerでDBを起動して使っているなら。down -v・prune・フォルダ名・パスワード環境変数・10秒での終了・メモリ上限・イメージタグ・ボリュームコピーによるバックアップまで、データを消失させたり読み取れなくしたりする30の場面を自分のコンピューターで直接再現し、DBログから原因を読み解いたうえで、時点復旧で復元する方法まで学びます。

Dockerの講義は、ほとんどがDBを起動するところで終わります。この講義ではその先、起動したDBを運用する中で、データを失ったり読み込めなくなったりする瞬間を扱います。すべての場面で実際に実行した出力を示し、コンテナではなくDB側(ログ・復旧プロセス・ファイルのバージョン・設定値)から原因を読み解きます。大手EC企業で現役のDBAチーム長を務める講師が、運用で使っている点検の手順をそのまま盛り込みました。

この講義を終えると

  • 現在使っているcomposeファイルの中から、データが消えるコマンドや設定(down -v、prune -a、プロジェクト名、匿名ボリューム、--rm)を見つけ出します。

  • パスワード・初期化スクリプト・ヘルスチェックのように、「最初の一度だけ」動作するものの落とし穴を避けます。

  • 強制終了と復旧ログを読み、終了待機時間・メモリ上限・共有メモリ・ディスクをDBに合わせて設定します。

  • タイムゾーン・文字セット(ハングルの文字化け)・照合順序がコンテナ内でひそかに変わる箇所を確認し、修正します。

  • イメージタグを固定し、MySQL 8.0→8.4・PostgreSQL 16→17へのアップグレードをボリュームのコピーでリハーサルします。

  • 整合性の取れたバックアップを取り、復元時間を計測し、バイナリログ(GTID)・WALアーカイブを使って、誤操作直前の時点まで復旧します。

こんな方におすすめです

  • DockerでMySQL・PostgreSQLを立ち上げ、サービスやサイドプロジェクトを運用するバックエンド開発者

  • Docker入門講座を終えて、「運用では何に注意すべきか」が気になる方

  • スタートアップでDBまで一人で任されることになった、ひとり運用担当者

  • ジュニアDBA・SRE

カリキュラム(9セクション・30講義・約181分)

  • セクション1. コンテナDB、何がどこに残るのか — コマンド一つで注文が消えた、実習環境の起動、データはどこにあるのか

  • セクション2. データを削除するコマンド — stop・down・down -v・prune、フォルダ名を変えただけなのに空のDB、匿名ボリュームと--rm

  • セクション3. 最初の一度だけ実行されるもの — パスワードを変更したのに変わらない、初期化スクリプトが途中までしか実行されなかった、「準備完了」という嘘

  • セクション4. 停止方法と復旧 — docker stop は10秒しか待たない、強制終了後の復旧を読み解く、終了待機時間を設定する

  • セクション 5. メモリとディスクの上限 — メモリ制限とOOMKilled、DBはメモリをどう見るか、PostgreSQLの共有メモリ64MB、ディスクがいっぱいになった場合

  • セクション6. 知らぬ間に変わる設定 — タイムゾーン:コンテナはUTC、韓国語が文字化けして保存された、イメージを変えたら並び順が変わった

  • セクション7. イメージタグとアップグレード — タグがデータを読み込めない日、MySQL 8.0から8.4へ、PostgreSQLのメジャーアップグレード、アップグレードのリハーサル

  • セクション8. バックアップと復元 — ボリュームのコピーはバックアップなのか、ダンプの一貫性、ダンプに含まれないもの:アカウントと権限、復元時間の計測、バイナリログでミスの直前まで戻す、WALアーカイブによるポイントインタイムリカバリ

  • セクション9. まとめ — ポート・パスワードと運用チェックリスト

実習環境

MySQL 8.4.13・8.0.44、PostgreSQL 17.7・16.11・17.7-alpineの公式イメージと仮想ショッピングモールのデータを使って、30のシナリオをそのまま実行できる実習資料(ZIP)をお渡しします。各講義にシナリオが1つあり、実行すると講義画面と同じ場面が再現されます。コンテナDB運用チェックリストもお渡しします。

事前知識

  • docker run・docker composeを使った経験

  • SQLの基本(SELECT・INSERT)

  • Dockerがインストールされたコンピューター(メモリは6GB以上の割り当てを推奨)

この講義で扱わない内容

  • Dockerの基本構文を最初から

  • Kubernetes・オペレーター

  • クラウドマネージドDB(RDSなど)の構成

  • クエリチューニング・実行計画

案内

スライドのナレーションは合成音声です。すべてのデータは学習用の仮想データであり、数値は実行環境によって異なる場合があります。

次のような方に
おすすめです

受講対象

  • DockerでMySQL・PostgreSQLを起動し、サービスやサイドプロジェクトを運用するバックエンド開発者

  • Docker入門講座を終えて、運用で何に気をつければよいか知りたい方

  • スタートアップでDBまで一人で担当することになった一人運営者

  • ジュニアDBA・SRE

前提知識

  • docker run・docker composeを使った経験

  • SQLの基本(SELECT・INSERT)

  • Dockerがインストールされたコンピューター(メモリは6GB以上の割り当てを推奨)

こんにちは
dorian05202988です。

経歴認証済み

20年以上にわたりデータベースとIT分野でキャリアを積んできたデータ職人です。DBAおよびDB Platformチームのマネージャーとしてデータベースプラットフォームに携わり、MySQL・PostgreSQL・Oracle・MongoDB、SQLチューニング、AWS・Terraform・Pythonを専門分野としています。ゲーム・金融・ITサービス分野での経験をもとに、データベースとクラウドアーキテクチャについて解説しています。『オラ​​クル実務チューニング SQLパターン学習』と『Oracle Pro*C実務プロジェクト活用書』を出版し、AWS Summit 2018・2019と「データよ、遊ぼう」2020では、サーバーレス・データベースの選択・マルチデータベース戦略について発表しました。最近は、Bedrock LLMを利用したスロークエリの分析・チューニング提案、DBスペック算定の自動化、DBメタMCPサーバーとSlackボットを通じた照会フローを扱っています。開発者向けのデータベース自動化と、非開発者向けのAI業務活用について、各コースの対象者と目的に合わせた実習を通じて解説しています。AIの提案をそのまま適用するのではなく、結果の同一性・実行計画・観測条件を確認し、根拠が不足している場合は保留する判断基準を伝えています。会社の運用データや認証情報は講義資料に含めません。

もっと見る

カリキュラム

全体

30件 ∙ (3時間 0分)

講座資料:

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価が集まっていない講座です。
ぜひ最初のレビューをお寄せください。

dorian05202988の他の講座

知識共有者の他の講座はこちら

似ている講座

同じ分野の他の講座を見てみましょう!

期間限定セール

¥61,600

20%

¥9,696