🔖

DockerでNginxの最小構成

2022/02/16に公開
2

概要

Docker の動作確認などをしていると、とにかく最小構成のアプリケーションを定義して動かして確認したくなるケースがよくあります。
Nginx で HTML を表示するだけの、極小定義及び作ってから消すまでのコマンドの流れを記載しておきます。

最小構成(Dockerfile とテスト HTML のみ)

作成する

フォルダ構成
.
├ src
│ └ index.html
└ Dockerfile
shell(フォルダ作成)
mkdir src
shell(Dockerfile作成)
vi Dockerfile
Dockerfileファイル内容
FROM 'nginx:latest'
RUN service nginx start
shell(index.html作成)
vi src/index.html
index.htmlファイル内容
<h1>Hello World!</h1>
shell
docker build -t dockerdemo ./
docker run --name dockerdemo -d -e name="test" -v $(pwd)/src:/usr/share/nginx/html -p 80:80 dockerdemo:latest

動作確認

http://localhost/

削除する

shell
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi dockerdemo

最小構成(docker-compose あり)の場合

フォルダ構成
.
├ src
│ └ index.html
├ Dockerfile
└ docker-compose.yml
shell(フォルダ作成)
mkdir src
shell(Dockerfile作成)
vi Dockerfile
Dockerfileファイル内容
FROM 'nginx:latest'
RUN service nginx start
shell(docker-compose.yml作成)
vi docker-compose.yml
docker-compose.ymlファイル内容
version: '3'

services:
  nginx:
    build: ./
    image: dockerdemo
    ports:
      - 80:80
    volumes:
      - ./src:/usr/share/nginx/html
shell(index.html作成)
vi src/index.html
index.htmlファイル内容
<h1>Hello World!</h1>
shell
docker-compose up -d

動作確認

http://localhost/

削除する

shell
docker-compose down
docker rmi dockerdemo

たくさんコンテナを作っていろいろ動かしてみましょう。

Discussion

ijaija

突然すみません。参考にさせていただこうと拝見していたのですが、
src/配下がindex.ymlと、拡張子がYAMLファイルになっている点が気になりました。
index.htmlのtypoかなと思ったので、コメントさせていただきました🙇

Tatsuki TaniTatsuki Tani

ご指摘ありがとうございます。

ご指摘の通りtypoでして、index.htmlが正でしたので修正させていただきました。
ありがとうございます。