Docker Composeのインストール方法は?環境構築方法も徹底解説
thumb_dockercomposeins_01
Docker Composeのインストール方法は?環境構築方法も徹底解説
アンドエンジニア編集部
2023.11.16
この記事でわかること
Docker Composeの概要をざっくり理解する
Docker Composeのインストール方法が分かる
Docker Composeの環境構築方法が分かる

Docker Composeとは?

img_dockercomposeins_01

Docker Composeとは、一言で表現するならコンテナ管理ツールです。Dockerコマンドのみでアプリケーションを実行する場合、コンテナごとにパラメータを設定したり、起動したりする必要があります。

管理するコンテナが少ない場合はそれでもよいのですが、コンテナが増えれば増えるほど、パラメータや起動・停止の手順管理が煩雑になり、ミスも増えてしまいます。

そこで登場するのが、Docker Composeです。Docker Composeを利用すると、複数のコンテナの設定やオプションをファイル単位にまとめることができます。

1つのファイルで複数のコンテナを定義できるため、コンテナの数だけコマンドを実行する必要がなくなり、余分な作業やミスを減らすことができます。

他にも、ファイルを流用することで、環境の複製が簡単にできたり、テスト環境の一括デプロイに活用できたり、Dockerを利用する上では必須とも言える大きなメリットがあります。

Dockerとは?使いどころやメリット・デメリットについて解説!

Docker Composeをインストールする方法

img_dockercomposeins_02

それでは、早速Docker Composeをインストールしていきましょう。

Docker Desktopの利用可否を検討

まず、Docker Desktopが利用可能か確認しましょう。Docker Desktopは、Docker Engine、Docker CLI クライアント、Docker ComposeといったDockerの主要なアプリケーションをすべて含んだパッケージで、さらにGUIによる視覚的・直感的なコンテナ管理を利用できる特徴があります。

Docker Desktopを利用すると煩雑なインストール作業をシンプルにできるため、Docker公式でもDocker Desktopの利用を推奨しています。Docker Desktopをインストールする場合は、Docker Composeに必要なアプリケーションがすべて含まれているため、個別にインストールする必要はありません。

【参考】:Docker公式-Docker Desktop 概要

ただし、Docker Desktopは従業員が251人以上または年間の収益が1,000万ドル以上の規模での利用は商用利用となり、有料のサブスクリプション契約が必要です。商用規模の利用でDocker Desktopの有償契約を選択できない場合は、次から解説する手順で個別にインストールしましょう。

Docker Desktop 4.6が登場!最新版の新機能やインストール手順を解説

動作環境の確認と事前準備

まず、事前準備として、Docker ComposeにはDocker自体は含まれていませんので、事前にDockerのインストールを済ませておく必要があります。

【参考】:Docker公式-Docker のダウンロードとインストール

また、ご使用のOSによってインストール方法が違いますので、確認しておきましょう。Docker Composeは各種LinuxOSおよびWindows、macOSで動作します。

Windows・Linux・MacOSのDockerインストール

Docker Composeをインストールする

Docker Compose をインストールする方法はいくつかありますが、ここではLinux環境でDockerリポジトリから最新バージョンのDocker Composeをダウンロードしてインストールする方法について解説します。

Dockerリポジトリとは、Docker Composeのインストールパッケージが格納されている場所のことです。まずは、DockerリポジトリにアクセスしてDocker Composeの最新バージョンを確認して、メモしておきます。

【参考】:Docker公式-Dockerリポジトリ

それでは、早速インストールを進めましょう。Dockerのインストールされている環境で、以下の手順でコマンドを実行してください。

sudo curl -L https://github.com/docker/compose/releases/download/<Docker Composeの最新バージョン>/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

このコマンドでは、Dockerリポジトリから最新バージョンのDocker Composeをダウンロードして、/usr/local/bin/docker-composeの配下に保存しています。

sudo chmod +x /usr/local/bin/docker-compose

このコマンドでは、/usr/local/bin/docker-composeの配下のファイルに実行権限を付与しています。これにより、docker-composeコマンドが実行できるようになります。

docker-compose --version

このコマンドは、インストールされているDocker Composeのバージョン情報を出力します。バージョン情報が出力されない場合はインストールできていないので、インストール手順を再度見直してみましょう。

docker-compose version 2.14.2, build <ビルド>

このように、最新バージョンの表示が確認できればインストールは成功です。

Docker Composeで環境を構築する

img_dockercompose_03

それでは、実際にDocker Composeを使用して環境構築を実践してみましょう。ここでいう環境構築とは、複数のコンテナを定義して起動し、コンテナ同士が通信を確立し、連携した状態にすることを指します。

今回は例として、WordPressをDocker Composeで構築する方法について解説します。この方法は、Docker公式のクイックスタートガイドでも紹介されています。

【参考】:Docker公式-クィックスタート: Compose と WordPress

Docker Composeのプロジェクトを定義する

まずは、プロジェクト用のディレクトリを作成しましょう。名前は任意で構いませんが、ここではmy_wordpressとしておきます。

mkdir my_wordpress

Docker Composeを使用するには、まず「docker-compose.yml」というファイルを作成します。先ほど作成したプロジェクト用のディレクトリ配下に作成しましょう。

cd my_wordpress
vi docker-compose.yml

Docker-Compose.ymlにコンテナを定義

このファイルには、Dockerイメージをビルドするために必要な情報、コンテナを起動するために必要な情報、コンテナ同士の通信で使用するDockerネットワークなどを定義します。



version: '3'


services:


   db:


     image: mysql:5.7


     volumes:


       - db_data:/var/lib/mysql


     restart: always


     environment:


       MYSQL_ROOT_PASSWORD: somewordpress


       MYSQL_DATABASE: wordpress


       MYSQL_USER: wordpress


       MYSQL_PASSWORD: wordpress


   wordpress:


     depends_on:


       - db


     image: wordpress:latest


     ports:


       - "8000:80"


     restart: always


     environment:


       WORDPRESS_DB_HOST: db:3306


       WORDPRESS_DB_USER: wordpress


       WORDPRESS_DB_PASSWORD: wordpress


volumes:


    db_data:

「services:」配下にコンテナ情報を定義しています。このサンプルコードでは、MySQLデータベース用の「db」と、WordPress用の「wordpress」の2つのコンテナが定義されています。

Docker Composeでコンテナを起動するには

docker-compose.ymlファイルに定義したコンテナを起動するには、以下のコマンドを実行します。

docker-compose up -d

docker runコマンドと比較すると、オプションをコマンドに付与する必要がないため、とてもシンプルになっていることが分かります。

コンテナの起動確認をするには、以下のコマンドを実行します。

docker-compose ps

StateがUpになっていれば、そのコンテナが起動中であることを表しています。以上で、Docker Composeによる環境構築の手順は完了です。

このように、Docker Composeを利用すると複数のコンテナをファイル単位でまとめて管理できるため、運用上のオーバーヘッドを解消できることがお分かり頂けたかと思います。

Docker Composeでワンランク上のコンテナ活用を

img_dockercomposeins_04

Docker Composeを利用すると環境の構築や複製が容易になるため、テストや開発のための環境を素早く構築したり、マイクロサービスを展開したりなど様々な活用が可能です。

より高度なコンテナ管理ツールとしてはKubernetesが有名ですが、Docker ComposeはKubernetesの設定をシンプルにする目的でも活用できますので、学んでおいて損はありません。

Docker入門!メリットや用途を交えて基本情報を解説!
DockerとKubernetesの概要・使い分けポイントを解説
気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT