LoginSignup
2
5

More than 5 years have passed since last update.

Ubuntuをベースに、NginxをインストールするDockerfileを書いてみる

Last updated at Posted at 2018-08-20

概要

Dockerfileを使って環境構築の自動化を目指します。

動作環境

Mac OS High Sierra 10.13.6
Docker version 18.03.1-ce, build 9ee9f40

Dockerfileの中身

# Getting Base Image
FROM ubuntu:16.04

# Author Info
MAINTAINER ____easy

RUN apt-get update
RUN apt-get install -y curl

# install nginx
RUN touch /etc/apt/sources.list.d/nginx.list
RUN echo "deb http://nginx.org/packages/ubuntu/ precise nginx" >> /etc/apt/sources.list.d/nginx.list
RUN echo "deb-src http://nginx.org/packages/ubuntu/ precise nginx" >> /etc/apt/sources.list.d/nginx.list
RUN curl http://nginx.org/keys/nginx_signing.key | apt-key add -
RUN apt-get update
RUN apt-get install -y nginx

# set working directory
WORKDIR /root

# Port
EXPOSE 22 80 

# change default html file of nginx
COPY ./html /usr/share/nginx/html

htmlフォルダの生成

カレントディレクトリ内に、htmlというフォルダを作成して、その中に適当なhtmlファイルをおいておきます。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>

Docker iamgeの生成

Dockerfileが存在するディレクトリ内で、以下のコマンドを実行します。

$ docker build -t nginx-test .

・・・省略・・・

Successfully built 3ed11c8e6381

以下のコマンドで生成されたイメージを確認することができます。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx-test          latest              d7be6f50f040        8 seconds ago       176MB

Docker run

$ docker run -it -p 8080:80 --name nginx-container nginx-test:latest /bin/bash
root@bbc8a788cfe1:~#  ←コンテナの中に入れる

-dオプションをつけなければ、フォアグラウンドでの実行となり、コンテナを抜けると、
  コンテナは停止します。
  コンテナを停止させずにコンテナから抜けたい時は、Ctrl + P + Q を入力するとOK。

次に、コンテナ内でnginxを起動させます。

root@bbc8a788cfe1:~#/etc/init.d/nginx start

webサーバーにアクセス

ブラウザで、http://localhost:8080 にアクセスすると、差し替えておいたhtmlが無事に起動していることがわかります。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5