Docker實戰指南(二):在Docker中搭建Nginx服務器

原文地址:Docker實戰指南(二):在Docker中搭建Nginx服務器nginx

Introduction

學習Docker最快的方法就是直接使用,在Docker實戰指南(一):Docker介紹中,咱們已經介紹瞭如何快速搭建Docker,以及如何在Docker中運行咱們的第一個Hello World! 程序。此次咱們將介紹如何快速地搭建一個實用的Nginx服務器。web

須要作什麼

咱們須要作的工做包含兩部分:docker

你將看到利用Docker快速構建一個實用的Nginx服務器是多麼的容易。tcp

Help命令

Docker學習裏面最重要的是什麼?同其餘程序同樣,最重要的就是Help命令。
在命令行中敲入:學習

docker help

能夠看到docker所支持的全部命令,當你但願看到某條命令的消息用法時,能夠敲入:spa

docker help run

能夠詳細的看到run命令的用法。.net

建立一個Nginx服務器

很簡單,只須要敲入如下命令:命令行

docker run --detach --name web nginx

若是出現權限問題,請在最前面加入sudo:

sudo docker run --detach --name web nginx

這將會從Docker Hub中下載一個最新的包含Nginx的Docker鏡像,並以守護進程的方式運行。
下載結束後,會產生一個相似

df4f04be4513c226759d0adebef7508775071aaa10dc69792cdb84889bd77692

的ID,這個就是這個運行中的Docker容器的惟一標誌ID,某些Docker命令會使用這個ID.

查看Nginx服務器

如何查看啓動的Nginx服務器?鍵入:

docker ps

若是出現權限問題,仍然是加sudo:

sudo docker ps

成功的話,你會看到相似下面的信息:

CONTAINER ID  IMAGE         COMMAND                 CREATED        STATUS        PORTS            NAMES
df4f04be4513  nginx:latest  "nginx -g 'daemon off"  2 minutes ago  Up 2 minutes  80/tcp, 443/tcp  web

訪問Nginx服務器

想訪問一下在容器中的Nginx服務器,怎麼操做呢?
因爲namespace的存在,咱們看到的80端口中的Nginx服務器,並非存在於主機上的80端口,而是在Docker容器中的80端口。關於namespace的話題後面咱們會介紹,這裏採用最簡單的方式來訪問,即便用一個叫BusyBox的Docker容器訪問咱們的Nginx服務器。
建立BusyBox的Docker容器,並經過shell訪問咱們的Nginx服務器的Docker容器,敲入如下命令便可:

docker run --interactive --tty --link web:web --name my_tty busybox /bin/sh

若是出現權限問題,請在最前面加入sudo:

sudo docker run --interactive --tty --link web:web --name my_tty busybox /bin/sh

這個命令將下載一個最新的包括/bin/sh等命令的一個BusyBox的Docker鏡像,並經過tty的方式進行交互,同時以非守護進程的方式運行/bin/sh.
成功後,將出現/bin/sh的提示符:

/ #

使用wget命令,訪問咱們的Nginx服務器:

/ # wget -O - http://web/

成功的話,你將看到一個title爲Webcome to nginx!的HTML頁面。

其餘一些有用的命令

重啓Docker容器

若是須要重啓咱們的Web服務器,敲入:

docker restart web

查看服務器日誌

若是須要查看咱們的Web服務器日誌,敲入:

docker logs web

便可看到Web服務器的日誌信息。

中止Docker容器

若是須要結束咱們的Web服務器,敲入:

docker stop web

你能夠經過docker ps命令,來觀察發生了什麼。

Summary

咱們簡單的介紹瞭如何利用Docker來搭建一個簡單的Nginx服務器,以及經過BusyBox去訪問。經過此實戰,你應該對Docker有了更深刻的體會。

(本文出自csprojectedu.com,轉載請註明出處)

相關文章
相關標籤/搜索