0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

もう逃げない。基礎から学ぶDocker入門 / Docker Composeの概要(座学編)(6/9)

Last updated at Posted at 2021-09-25

はじめに

今まで、全然理解できていなくて逃げてたDockerに関して、しっかり理解していこうと思います。

コレまで、便利なんだろうなと思いながらも、逃げてました。

なので、開発環境では使いこなせるスキルにまでは理解したいと思います。

あと、暗記してたDockerコマンドを1つ1つ理解していきます。

以下のような順番で勉強していきます。

学ぼう「Docker Composeの概要」

Dockerfileを作成し、そこからDockerイメージを生成し、そこからDockerコンテナを作成・起動させて、コンテナ上にあるWebサーバを作ってきました。

ただ、これだけではまだ実践的なWebアプリケーションの開発環境を作れるかというと、まだ足りないことがあります。

Webサービスって、1つのアプリケーションだけでは成り立ちませんよね。

アプリケーションサーバ、Webサーバ、DBサーバの連携が必要なケースの方が多いと思います。

Dockerで実践的なアプリケーションを構築する場合も、上記の連携に対応させるべく、コンテナ同士も連携させないといけません。

これを今の知識だけでやろうとすると、複数のコンテナを個別に操作しないといけないので難儀ですよね。

image.png

そんなとき、複数のアプリケーションをまとめて操作することをサポートするDockerのツールに、Docker Composeというものがあるそうです。

image.png

Docker Composeを用いた複数アプリケーションの操作には、docker-compose.ymlが必要だそうです。

今回は、それらの概要を学んでいきたいと思います。

Docker Composeの概要

Docker Composeとは、公式ドキュメントでは

Compose is a tool for defining and running multi-container Docker applications.

訳すと「Composeとは複数コンテナの Docker アプリケーションを定義・実行するツールです」といった意味です。

image.png

Docker Composeは、「docker-compose.yml」というファイルにコンテナの構成情報を定義することで、同一のホスト上の複数のコンテナを一括管理できます。

docker-compose.ymlには、Webアプリケーションの依存関係(DB、Webサーバ、アプリケーションなど)をまとめて設定できます。

これをもとに、docker-composeコマンドを実行すると複数のコンテナをまとめて起動したり停止したりできます。

続いて、「docker-compose.yml」の書き方について学んでいきます。

docker-compose.ymlの概要

Docker Composeは「docker-compose.yml」というファイルに、アプリケーションサーバ、Webサーバ、DBサーバなど、システム内で稼働する複数のサーバ群の構成をまとめて定義します。定義ファイルはYAML形式で書かれています。

docker-compose.yml
version: '3'

services:
  db:
    image: mysql:8.0
  web:
    build: ...

servicesの配下に、コンテナを定義できます。

例では、dbのサービスとwebのサービスが定義されて、それぞれの詳細はその配下に記載していきます。

これで、Docker Composeの概要はおしまいです。

次回は、Docker Composeを使って、Railsの環境を構築したいと思います。

アウトプット100本ノック実施中

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?