nginxを導入する


nginxを導入する

rootで実行

起動コマンド 説明
dockerイメージから起動する場合 docker run -d -p 80:80 --name nginx1 soushi/nginx:1.0
Centos:6イメージから新規に作成する場合 docker run -i -t -d -p 80:80 -v /etc/localtime:/etc/localtime:ro --name nginx1 centos:6 /bin/bash
  • dockerイメージが無い場合、Dockerfileから作成できます。
docker build [ -t {イメージ名} [ :{タグ名} ] ] <Dockerfileのあるディレクトリ>
  • Dockerfileからdockerイメージを作成するコマンド例
docker build -t soushi/nginx:1.0 <Dockerfileのあるディレクトリ>
  • dockerイメージを作成するためのDockerfileの場所

~/Dropbox/docker/nginx1.0/Dockerfile

1.1 nginxのリポジトリを登録します。

公式サイトから、使用するOSのバージョンを探し、リポジトリを追加します。
※今回はCentos6.6用

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

/etc/yum.repos.d/nginx.repoが作成されます。

# nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

1.2 nginxをインストールします。

yum -y install nginx

1.3 nginxを起動します。

/etc/init.d/nginx start

※この時点でアクセス可能になるが、設定が必要と言われる。

1.4 nginxの設定を行う。

  • 設定ファイルの場所は/etc/nginx/nginx.conf
  • こちらを参考に設定を行う。
  • ドキュメントルートを/var/wwwに設定する。
mkdir /var/www
sed -i -e "/^http/a \ \ \ \ server \{\n\tlocation \/ \{\n\t\troot \/var\/www\;\n\t\}\n\n\ \ \ \ \}" /etc/nginx/nginx.conf
service nginx restart

2 ホストのIPアドレスにアクセスして、起動していることを確認します。


全コマンド

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum -y install nginx
mkdir /var/www
echo "Hello world. Nginx is working. The document root directory is /var/www." >> /var/www/index.html
RUN sed -i -e "/^http/a \ \ \ \ server \{\n\tlocation \/ \{\n\t\troot \/var\/www\;\n\t\}\n\n\ \ \ \ \}" /etc/nginx/nginx.conf
service nginx start