投稿日:
2018年2月18日
最終更新日:
【簡単サーバー構築】Dockerfileでnginxを立ち上げてみよう!
YouTubeも見てね♪
ねこじゃすり
猫を魅了する魔法の装備品!
【最新機種】GoPro hero11 Black
最新機種でVlogの思い出を撮影しよう!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
モンスターエナジー 355ml×24本 [エナジードリンク]
脳を活性化させるにはこれ!
BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール
もう一人の僕を呼び覚ませ!!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
目次
簡単サーバー構築
前回の記事にて、Dockerfileを使ったコンテナの起動方法を紹介しました。
今回は同じようにDockerfileを使ってnginxを起動し、簡単なサーバーを立ち上げるところまでをご紹介しようと思います。
手順
前提
Dockerfileの作成
まずは以下のDockerfileを作成してください。
1
2
3
4
5
6
7
8
9
10
11
|
FROM centos:7
RUN yum update -y && yum clean all
RUN yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
RUN yum install -y --enablerepo=nginx nginx
RUN yum swap -y fakesystemd systemd && yum clean all
ADD index.html /var/www/html/
ADD nginx.conf /etc/nginx/conf.d/
RUN mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bk
RUN systemctl enable nginx
EXPOSE 80
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;", "-c", "/etc/nginx/nginx.conf"]
|
index.html
次にnginxに配置するindex.htmlを作成しましょう。
今回は単純にDocker内部のnginxに配置して表示確認するレベルのものでいいので以下の内容で良いです。
1
2
3
4
5
|
<html>
<body>
<h1>Hello, World! From Docker!!</h1>
</body>
</html>
|
nginx.confの作成
次にnginxの設定ファイルも用意しましょう。
こちらも同じく表示確認レベルのもので良いです。
1
2
3
4
5
6
7
8
9
10
11
12
|
server {
listen 80 default_server;
root /var/www/html;
index index.html index.htm;
server_name nginx;
location / {
try_files $uri $uri/ =404;
}
}
|
イメージファイルの作成
次に以下のコマンドでDockerイメージを作成しましょう。
1 |
docker build -t centos7/nginx_from_dockerfile --no-cache=true .
|
コマンド実行後、以下の実行ログが表示されればimageファイルの作成は完了です。
以下のコマンドでimgaeファイルを確認してみましょう。
1 |
docker images
|
無事にイメージファイルが作成されてますね。
コンテナ起動
では、実際にimageファイルからコンテナを作成して起動してみましょう。
以下のコマンドを実行してみてください。
1 |
docker run -d --name docker_nginx_server -p 8080:80 centos7/nginx_from_dockerfile
|
docker runコマンドはコンテナをimageファイルから起動します。各オプションの意味としては、
-d | コンテナをデタッチドモード(バックグラウンド)で起動する |
---|---|
–name | コンテナ名を定義する |
-p | ホスト側のポート番号とコンテナ側のポート番号を紐付けて公開する |
特にエラーが出なければ、以下のコマンドでコンテナが実行されているか確認してみましょう。
1 |
docker ps
|
コンテナが起動していて一覧に表示されていますね。
ブラウザアクセス
では、実際にブラウザからアクセス出来るか確認してみましょう。
http://localhost:8080
無事にアクセス出来ました!!
念のため、以下のコマンドでコンテナを停止してもう一度アクセスしてみましょう。
1 |
docker stop docker_nginx_server
|
コンテナの再起動
もう一度nginxコンテナを起動しようとして、先ほどのコマンドを実行すると、エラーが発生してしまいます。
これは、同じ名称のコンテナが存在していることを表すエラーです。
すでに作成済みのコンテナ再起動なので以下のコマンドで起動可能です。
1 |
docker start docker_nginx_server
|
コンテナの削除
最後にお片づけをしましょう。
まずはコンテナの削除です。
以下のコマンドを実行してください。
1 |
docker rm docker_nginx_server
|
イメージの削除
次にDockerイメージファイルの削除です。
以下のコマンドを実行してください。
1 |
docker rmi centos7/nginx_from_dockerfile
|
これでコンテナとイメージを削除して元の状態に簡単に戻せます。
終わりに
如何だったでしょうか?
Dockerを使えばホストマシンにミドルウェアを入れる必要が無いので、環境構築もしやすくマシン内部を汚すことが無くなるので非常にスッキリします。
皆さんもDockerを使いこなして、環境構築のコストを抑えてみてください♪