【Docker入門】(2) Dockerfileによる構築
前回はDockerの基本知識や機能について学びました。前回の記事をまだご覧になられていない場合はこちらから
今回はDockerfileを用いて、サーバー構築をしてみたいと思います。
Dockerfileとは
Dockerではベースとなるイメージに各種ミドルウェアのインストールや設定など、アプリケーションの実行基盤の構成管理をDockerfile
に記述します。
どんな書き方をするのかという例として、phpコンテナ構築時に使われるDockerfileを記述しています
FROM php:7.4-fpm
RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer
RUN apt-get update \
&& apt-get install -y \
git \
zip \
unzip \
vim
RUN apt-get update \
&& apt-get install -y libpq-dev \
&& docker-php-ext-install pdo_mysql pdo_pgsql
WORKDIR /var/www/html
Dockerfileに記述する内容
Dockerfileを利用することで、ベースのイメージに加えて、OSの設定やミドルウェアのインストール・パラメータ設定をすることができます。
記述する内容
- ベースになるDockerイメージ
- Dockerコンテナ内で行った操作(コマンド)
- 環境変数などの設定
- Dockerコンテナ内で動作させておくデーモン実行
コードの書き方とコマンド
命令 引数
例) FROM イメージ名
Dockerfileでの主な命令文には以下のようなものがあります
コード | 実行内容 |
---|---|
From |
ベースイメージを指定 |
Run |
コマンドの実行 |
CMD |
実行中のコンテナにコマンドを提供 |
ENV |
環境変数を設定 |
COPY |
ファイルとディレクトリをコンテナにコピー |
ADD |
ファイルとディレクトリをコンテナにコピー |
WORKDIR |
作業ディレクトリを設定 |
VOLUME |
ディレクトリマウントポイントを作成 |
他にもたくさんあるので各自で調べてください
DockerfileからDockerイメージの作成
Dockerfileからイメージを作成するには、docker buildコマンドを使います。
docker build -t [生成するイメージ名]:[タグ名] [Dockerfileの場所]
まとめ
実際の開発現場ではdocker
コマンドよりdocker-compose
コマンドを用いた方が環境構築においての効率が良いため、docker-compose
を用いたLaravelの環境構築を実際にやってみたいと思います。