この記事のゴール
この記事のゴールは細かい説明は省いて、Dockerでコンテナ(サーバー)を動作させるまでをゴールとしております。
またDockerのインストールに関しては、この記事の範囲外としております。
Dockerとは?
Docker(ドッカー)とは軽量なコンテナ型アプリケーション実行環境です。Dockerの説明を聞くと難しく感じるかもしれませんが、Dockerを利用することで、OS内部に独立したアプリケーションの実行環境(コンテナ)を生成することが出来、いつでもその環境を立ち上げることが可能になります。
-- 【初心者向け】Docker(ドッカー)とは何か?
何が便利?
このDockerが最強なのは、下記の部分です。
- コンテナを立ち上げるための必要な処理などを全て1つのファイルで管理→Gitなどのバージョン管理ツールで管理できる。
- コンテナの立ち上げもコマンド1つで完了
Dockerでコンテナを立ち上げるまで
では、Dockerの概要について理解できたところで、続いてはコンテナを立ち上げるまでにどんな作業が必要なのかを見ていきましょう。
[手順]
① Dockerfileを作成する。
Dockerfile: Dockerのコンテナを立ち上げるまでの手順書
例: Nginx + PHP環境のDockerfile
FROM nginx:alpine
# php install
RUN apk update && apk upgrade && apk add php8 php8-fpm php8-curl php8-iconv php8-mbstring php8-openssl php8-phar php8-zip bash
# php8のシンボリックリンク
RUN ln -s /usr/bin/php8 /usr/bin/php
# composerのインストール
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN php composer-setup.php
RUN php -r "unlink('composer-setup.php');"
RUN mv composer.phar /usr/local/bin/composer
EXPOSE 80
② Dockerfileを使い、イメージをビルドする。
イメージ: Dockerfileから作成した、コンテナの元(OSのzipファイルみたいなもの?)
↓Dockerfileと同じ階層に移動して、下記を実行
sudo docker build . -t {image-name}
③ ビルドしたイメージを使い、コンテナを起動する。
例:コンテナのポート80番とローカルのポート80番を対応させて起動している。
sudo docker run -d -p 80:80 --name {container-name} {image-name}