Nginx服务器之Docker快速部署方案

Nginx是大规模互联网服务的最佳前端服务器,在Web服务、正向代理、反向代理、负载均衡等方面大量应用。Docker容器技术这两年超级火爆,可以实现快速的应用服务器部署。下面介绍通过Docker快速部署Nginx服务的方法,既可以用于大规模集群,也可以用于小规模服务、内部网站和个人网站的服务发布。

快速开始

运行下面的脚本:

docker run --name nginx -d -p 80:80 tutum/nginx

然后到浏览器输入http://localhost ,即可看到缺省的结果。

--name nginx ,该参数命名容器实例的名字,便于使用 docker rm -f nginx 直接删除。

现在,我们进去看一下容器里面的配置,运行:

docker exec -it nginx /bin/bash

缺省的Nginx安装在var/lib/nginx下,配置在etc/nginx下面,包括nginx.conf主配置文件,conf.d和site-enabled是附加的配置文件。后面,我们将会该目录映射到宿主机目录,以便于修改和管理。

网站开发

在宿主机建立一个目录app,然后将其映射到容器nginx的/app目录。/app目录在容器的缺省配置文件 /etc/nginx/site-enabled 中已经将/app设为缺省的网站根目录了。

运行如下命令:

docker run --name nginx -d -p 80:80 -v /home/username/app /app utum/nginx

然后到/home/username/app下创建一个index.htm文件,随便写点啥(vim index.htm)。再去刷新浏览器,可以看到刚才写入的内容了。如果没有看到,试试 docker logs nginx,看看日志。

修改配置文件

在宿主机建立sites-enabled,然后映射到容器的/etc/nginx/sites-enabled/。注意下面的命令要使用绝对路径,将/.../sites-enabled/换成自己的绝对路径。 进目录/.../sites-enabled/,建立default配置文件。内容为标准的nginx配置文件,如:

server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /app; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; }}

上面这个文件是tutum/nginx里面的/etc/nginx/sites-enabled/default文件内容。

然后,运行如下命令:

docker run --name nginx -d -p 80:80 -v /.../sites-enabled/ /etc/nginx/sites-enabled/-v /home/username/app /app utum/nginx

使用Dockerfile

上面是使用命令行运行,下面将这些参数放到Dockerfile里面,然后运行docker build就可以生成自己的衍生镜像,放到自己的Docker Registry仓库里面运行。

FROM tutum/nginxADD sites-enabled/ /etc/nginx/sites-enabled/ADD app/ /app/EXPOSE 80

注意:

这里将sites-enabled/和app/目录里的内容打包到docker镜像里面去了,因此从任何其它机器可以直接拉取镜像就可以运行,非常方便。

但这也会带来安全性的隐患,比如将数据(如密码)传送到了运行机器,因此,切勿将这样的【打包镜像】传到公共的镜像仓库中。


希望篇文章可以帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,有需要帮助或资料的朋友可以加Q号:625452324相信对于已经工作和遇到技术瓶颈或者写博客码友,都会有好的帮助。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,427评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,551评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,747评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,939评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,955评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,737评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,448评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,352评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,834评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,992评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,133评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,815评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,477评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,022评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,147评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,398评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,077评论 2 355

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,671评论 18 139
  • 没有反思的人生不值得过——苏格拉底 192期 C3 徐兰芳 #周检视#第6周20180421 本周金句: 完成 ...
    LANGFANG阅读 105评论 0 0
  • 五月十五,榆次,英雄庄,清晨,英雄会。 庄主公孫越虽已花甲之年,早已不在江湖行走,然豪迈不減少年时,与盖聂素有交情...
    红尘久客阅读 597评论 5 8
  • 我的家乡在农村,它有一个很美好的名字叫建富村,一个在江西省地图没有任何标志的地方。 这里山清水秀,有点像陶渊明的世...
    快乐的嫣红阅读 956评论 14 14
  • 钱钟书,中国现代作家、文学研究家,代表作是小说《围城》。《围城》是中国现代文学史上一部风格独特的讽刺小说。被誉为“...
    无花无生阅读 3,644评论 2 3