
【初心者向け】Docker Composeをやさしく解説|複数コンテナを一発起動する入門
🚀 はじめに この記事でわかること Docker Composeとは何か(一言で:複数のコンテナをまとめて管理するための仕組み) なぜ必要か(手作業の複雑さをYAMLの設定1つでシンプルに) 使わないとどうなるか(起動順や設定のばらつきで毎回つまずきがち) 5分で体験できるサンプル(WordPress + MySQLを一発起動) こんな人向け 中学生〜大人まで、IT知識がほとんどない人 「Dockerは聞いたことあるけど、Composeって何?」をやさしく知りたい人 具体的なイメージや最初の一歩を掴みたい人 初心者でも安心な理由 難しい言葉を身近なたとえで説明 動く手順をそのまま掲載(コピペでOK) 用語のつまずきどころは注意書きでフォロー ✅ 概要解説 Docker Composeとは何か たとえるなら、電源タップ+リモコン。 Webサーバー・データベースなど複数の家電(コンテナ)を1つのタップ(YAML) に挿して、ボタン1つ(コマンド1回)でまとめてオン/オフできます。 Docker:アプリを小さな箱(コンテナ)として動かす技術 Compose:その複数の箱の並べ方・つなぎ方(ネットワーク・共有データ・起動順など)をYAMLファイル1枚に書いて、一括で操作する仕組み 何のためにあるのか 手順を“設定”に変える:人が毎回打つコマンドを、YAMLに宣言して自動化 一貫性:同じcompose.yamlがあれば、誰のPCでも同じ環境が再現 一括操作:起動・停止・ログ確認など、まとめて扱える 開発効率:Web+DBなどよくある組み合わせを1分で用意 Docker Composeがないとどうなる? それぞれのコンテナに対して イメージ選び、ポート、環境変数、ボリューム、ネットワーク…を毎回手で指定 起動順のミス(DBより先にアプリが上がってエラー) チームで環境が微妙に違う(“自分のPCでは動く”問題) Composeなら:書くのは一度。回すのは何度でも。失敗しにくく、説明書いらず。 どんな場面で使える? ローカル開発:Webアプリ+DB+キャッシュを一発起動 学習用の検証:OSS(WordPress、PostgreSQL、Redis…)のお試しが簡単 自動テスト(CI):テストの前に依存サービスを一式立ち上げ 小規模運用:個人サーバーやデモ環境の簡易オーケストレーション 🧪 5分で体験:WordPress + MySQL を一発起動 “実際に動いた”体験がいちばん速い理解です。 1) フォルダとファイルを用意 プロジェクト用フォルダを作り、compose.yaml という名前で保存します(推奨名)。 mkdir my-wp && cd my-wp # このフォルダに compose.yaml を作成 メモ:docker-compose.ymlという古い名前でも動きますが、今は compose.yaml が推奨です。 2) compose.yaml の中身(コピペOK) services: db: image: mysql:8.0 restart: unless-stopped environment: MYSQL_DATABASE: wordpress MYSQL_USER: wp MYSQL_PASSWORD: secretpw MYSQL_ROOT_PASSWORD: rootpw volumes: - db_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-prootpw"] interval: 5s timeout: 3s retries: 10 wordpress: image: wordpress:latest depends_on: db: condition: service_healthy ports: - "8080:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wp WORDPRESS_DB_PASSWORD: secretpw WORDPRESS_DB_NAME: wordpress volumes: - wp_data:/var/www/html restart: unless-stopped volumes: db_data: wp_data: ポイントだけ超ざっくり ...



