はじめに
以下のような構成で記事を執筆していますが、
どこからでも読めるような構成になっています。
対象読者
-
Docker
の使用に慣れてきた方 -
docker-compose.yml
でなにをしているのか知りたい方
目次
Docker Composeとは
docker-compose.yml
という yml
形式のファイルに
複数のコンテナを定義し実行することができるツールです。
Docker compose
どのように書いていくのか確認していきます。
(※ 最低限の設計です)
ディレクトリ構造
.
├── docker
│ └── Dockerfile
└── docker-compose.yml
docker-compose.yml
docker-compose.yml
# バージョンの指定
version: '3.9'
# サービス定義
services:
app: # サービス名(コンテナ名)
build: # build
context: . # build context
dockerfile: docker/Dockerfile # Dockerfile の指定
ports: # port指定(ホストのポートをコンテナのポートにつなげる)
# host:container
- "8000:80"
volumes: # マウント(ファイルシステムの共有)
# host:container
- '.:/var/www/html'
Dockerfile
docker/Dockerfile
# php のイメージ
FROM php:7.4-fpm
# コマンド実行ディレクトリ
WORKDIR /var/www/html
# パッケージインストール
RUN apt-get update \
&& apt-get install -y libonig-dev libzip-dev unzip
Compose コマンド
使用頻度の高いコマンドです。
コマンド | 意味 |
---|---|
docker-compose build | コンテナをbuildする |
docker-compose up -d | デタッチドモードで立ち上げ |
docker-compose stop | 実行中のコンテナを停止 |
docker-compose down | 実行中のコンテナを停止し削除 |
docker-compose restart | コンテナを再起動 |
docker-compose exec [サービス名(コンテナ名)] [command(bash)] | コンテナに対しコマンド実行。bashを書くとコンテナ内に入ることができる。 |
おわりに
今回3部構成で記事を執筆いたしました。
すべて読みすすめたら Docker
に対して困ることは少なくなるのかなと思います。
もちろんすべてを網羅したわけではないですし、説明不足な点もあるかもしれませんが、
「Dockerって何?」 というところから抜け出すきっかけになりましたら幸いです。
記事で足りない点は調べて補いつつ、さらに理解を深めたいときは
教材など購入、公式ドキュメントなど読みながら手を動かしてみると深く学ぶことができるのではないでしょうか。