0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker Compose入門 - Nginxを起動して学ぶComposeの基本

0
Posted at

はじめに

Dockerを使い始めると、まずは docker run コマンドでコンテナを起動することが多いと思います。

例えばNginxを起動する場合は以下のようになります。

docker run -d \
  --name nginx \
  -p 80:80 \
  nginx:latest

コンテナが増えてくると、起動オプションを管理するのが大変になります。

そこで利用するのが Docker Compose です。Docker Composeを使うと、コンテナ構成をYAMLファイルとして管理できるようになります。

Docker Composeとは

Docker Composeは、コンテナの構成をコードとして管理するための仕組みです。

例えば先ほどの docker run は、Composeでは以下のように記述できます。

services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"

設定ファイルを作成しておけば、誰でも同じ環境を簡単に再現できます。

事前準備

DockerおよびDocker Composeが利用できることを確認します。

docker --version
docker compose version

作業ディレクトリを作成する

mkdir docker-compose-nginx
cd docker-compose-nginx

compose.ymlを作成する

compose.yml

services:

  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
    restart: unless-stopped

各項目の意味は以下の通りです。

項目 説明
image 使用するコンテナイメージ
container_name コンテナ名
ports ポートマッピング
restart 自動起動設定

コンテナを起動する

docker compose up -d

実行結果例

[+] Running 1/1
 ✔ Container nginx Started

コンテナの状態を確認する

docker compose ps

出力例

NAME    IMAGE          STATUS
nginx   nginx:latest   Up

ブラウザで確認する

ブラウザから以下へアクセスします。

http://サーバIPアドレス

NginxのWelcomeページが表示されれば成功です。

ログを確認する

ログ表示

docker compose logs

リアルタイム表示

docker compose logs -f

コンテナを停止する

docker compose stop

コンテナを削除する

docker compose down

ボリュームを利用してWebページを配置する

作業用ディレクトリを作成します。

mkdir html

html/index.html

<!DOCTYPE html>
<html>
<head>
  <title>Docker Compose Sample</title>
</head>
<body>
  <h1>Hello Docker Compose</h1>
</body>
</html>

compose.yml

services:

  nginx:
    image: nginx:latest
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html

コンテナを再作成します。

docker compose down
docker compose up -d

ブラウザを更新すると、自作したHTMLが表示されます。

よく使うコマンド

コマンド 内容
docker compose up -d 起動
docker compose down 停止・削除
docker compose stop 停止
docker compose start 起動
docker compose restart 再起動
docker compose ps 状態確認
docker compose logs ログ確認

まとめ

Docker Composeを利用すると、コンテナの設定をコードとして管理できるようになります。
IaCの第一歩として、便利に使っていきましょう!

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?