• 投稿者:
  • 投稿コメント:1件のコメント
  • 投稿カテゴリー:OS
  • 投稿の最終変更日:2025年2月1日

Docker開発環境構築ガイド:Webクリエイター&エンジニア必携!仮想化&コンテナ技術をWindows&Macで完全マスター

はじめに

Dockerは、開発環境を手軽に構築・管理できるコンテナ技術です。コンテナを使用すると、アプリケーションとその依存関係を一つのパッケージとして管理できるため、開発環境の再現性が向上し、作業の効率化が図れます。本記事では、Dockerを使って仮想サーバーを構築する方法から、複数のコンテナを簡単に管理するためのDocker Composeの使い方まで、Webクリエイター&エンジニア向けに解説します。WindowsやMacでも手軽に実行できる方法をご紹介しますので、ぜひ参考にしてみてください。


Dockerを使った仮想サーバー構築の実施方法解説

Dockerを使うことで、仮想サーバーの構築が簡単になります。Dockerは、コンテナ型の仮想化技術を提供し、アプリケーションとその依存関係を一つのパッケージとして扱うことができるため、開発環境の構築や管理が非常に効率的です。以下、具体的な手順を見ていきましょう。

1. Dockerでコンテナを作成するには

まず、Dockerをインストールし、基本的なコマンドを使ってコンテナを作成していきます。

dockerコマンドの基本

Dockerのコマンドは、docker <操作> <対象> の形式で実行します。例えば、コンテナを作成する場合は、docker run コマンドを使用します。

docker run -d -p 80:80 --name apache-container httpd

このコマンドでは、httpd(Apache HTTP Server)のコンテナをバックグラウンドで実行します。

  • -p 80:80 はホストのポート80をコンテナのポート80にマッピングします。
  • -d はバックグラウンドで実行するオプションです。
  • --name apache-container でコンテナの名前を apache-container に設定します。

2. もっと簡単にコンテナを作成するには

事前に作成したDockerイメージを使用すると、コマンドを簡単にすることができます。また、docker-compose を使うと、複数のコンテナを一括で管理でき、さらに効率的です。

複数コンテナをラクに作れるDocker Compose

Docker Composeを使うことで、複数のコンテナを一度に管理することができます。以下では、Docker Composeを使用した手順を解説します。

1. Docker Composeとは

Docker Composeは、複数のコンテナを定義し、一括で起動・停止できるツールです。これにより、コンテナ間の依存関係や設定を簡単に管理できます。設定はYAML形式で記述します。

2. Docker Composeを使った手順

Docker Composeでは、以下の3ステップでコンテナを管理できます。

ステップ1: docker-compose.yml ファイルを作成する

まず、設定ファイルを作成します。例えば、以下のような内容でApacheのコンテナを定義します。

version: '3'
services:
  apache:
    image: httpd
    ports:
      - "80:80"

ステップ2: コンテナを起動する

次に、docker-compose コマンドを使ってコンテナを起動します。

docker-compose up -d

これで、docker-compose.yml で定義したコンテナがバックグラウンドで起動します。

ステップ3: コンテナを停止・管理する

コンテナを停止するには、以下のコマンドを実行します。

docker-compose down

コンテナを再起動したい場合は、以下のコマンドで再起動できます。

docker-compose start
スポンサーリンク

Docker Compose ファイルの書き方を理解しよう

Docker Composeファイル(docker-compose.yml)の記法を理解すると、設定がさらに簡単になります。YAML形式で書かれた設定ファイルでは、以下のような項目を定義できます。

YAMLの基本的な書き方

YAMLファイルはインデントが非常に重要で、階層的に設定を記述します。例えば、以下のようにApacheの設定を記述できます。

version: '3'
services:
  apache:
    image: httpd
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/local/apache2/htdocs/

主な項目

  • version: Composeファイルのバージョン。
  • services: コンテナの設定を定義します。
  • image: 使用するDockerイメージ。
  • ports: ポートマッピング。
  • volumes: データの永続化設定。

コンテナ内へファイルをコピーする

コンテナ内にファイルをコピーする際は、docker cp コマンドを使用します。例えば、ホストの index.html ファイルをApacheコンテナにコピーするには、以下のコマンドを実行します。

docker cp ./index.html apache-container:/usr/local/apache2/htdocs/

MariaDBコンテナを構築する

次に、データベースを利用するためのMariaDBコンテナを構築する方法を解説します。

1. MariaDBとは

MariaDBは、MySQLのフォークであり、高性能でスケーラブルなリレーショナルデータベースです。Dockerを使って、MariaDBコンテナを簡単にセットアップできます。

2. MariaDBコンテナの設定

docker-compose.yml を使ってMariaDBのコンテナを設定する例です。

version: '3'
services:
  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: example

この設定では、MYSQL_ROOT_PASSWORD 環境変数を使って、MariaDBのrootパスワードを example に設定します。

スポンサーリンク

コンテナ内でコマンドを実行するには

コンテナ内でコマンドを実行するには、docker exec を使います。

docker exec -it apache-container /bin/bash

このコマンドで、apache-container コンテナ内でシェルを起動し、コマンドを実行できます。

WordPress + MariaDBコンテナを構築する

WordPressとMariaDBを連携させて使いたい場合、Docker Composeを使って一度に両方のコンテナをセットアップできます。以下に、設定例を示します。

version: '3'
services:
  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: example
  wordpress:
    image: wordpress
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: example
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: example

この設定により、WordPressがMariaDBに接続して動作します。

スポンサーリンク

コンテナのデータを永続化する

コンテナのデータを永続化するためには、ボリュームやバインドマウントを使用します。例えば、以下の設定でWordPressのデータを永続化できます。

version: '3'
services:
  wordpress:
    image: wordpress
    volumes:
      - wordpress-data:/var/www/html
volumes:
  wordpress-data:

Flaskコンテナを構築する

Flaskを使ったWebアプリケーションをDockerで実行する方法です。まず、Flaskアプリケーションを作成し、Dockerfileを使ってコンテナ化します。

FROM python:3.8
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
スポンサーリンク

まとめ

Dockerは、開発環境を効率的に管理するための強力なツールです。コンテナを使うことで、環境依存の問題を解消し、迅速に環境を再現できます。Docker Composeを使えば、複数のコンテナを簡単に管理でき、データベースやWebアプリケーションをセットアップするのもスムーズです。ぜひ、このガイドを参考に、Dockerを活用した開発環境の構築を始めてみましょう!

1件のコメントがあります

コメントを残す