背景
環境構築を楽にするために、docker の勉強をしております。
今回はDockerFile からイメージを作成する方法を手順として残します。
DockerFile については別記事で紹介しているので以下をご参照ください。
環境
Amazon Linux release 2 (Karoo)
Docker version 20.10.4
手順
コンテキストディレクトリの作成
DockerFile を配置するディレクトリを作成します。
sudo mkdir ApacheDocker
cd ApacheDocker
DockerFile 作成
今回は Apache をインストールして、Webサーバとして動作するイメージを作成します。
sudo vi Dockerfile
DockerFile は以下のように記述しました。
# ベースイメージの指定
FROM centos:centos7
# Apache のインストール
RUN yum install -y httpd
# Apache の起動
ENTRYPOINT ["/usr/sbin/httpd", "-DFOREGROUND"]
イメージの作成
docker build を使って、DockerFile からイメージを作成します。
-t でイメージ名を指定して、最後の . は DockerFile の場所を示しています。
sudo docker build -t apache .
sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache latest 3645b469f543 27 seconds ago 360MB
イメージの作成に成功しました。
コンテナ作成
記述通りのイメージが作成されたかコンテナを作成して確認します。
/opt/app/に表示したいHTMLファイルを配置してから、docker runを使ってコンテナを作成します。
sudo docker run -d -p 80:80 -v "/opt/app/:/var/www/html/" --name Apache apache
配置したHTMLファイルが表示されたらOKです。
最後に
最近、docker を勉強し始めたのですが、たった三行のファイルから Apache の環境が作成されるのは驚きました。
今回はイメージ作成までの流れを勉強するために簡単な DockerFile にしてありますが、LAMP環境を複数のコンテナから作成することをやってみたいと思っております。
最後まで読んでいただきありがとうございました。
