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,转载请注明出处)

相关文章
相关标签/搜索