Docker部署Nginx
Docker部署Nginx
什么是Nginx
 Nginx(发音为“engine-x”)是用于HTTP,HTTPS,SMTP,POP3和IMAP协议的开源反向代理服务器,以及负载均衡器,HTTP缓存和Web服务器(源服务器)。nginx项目首先关注高并发性,高性能和低内存使用率。它根据类似BSD的2条款许可,可在Linux,BSD变体,Mac OS X,Solaris,AIX,HP-UX以及其他* nix版本上运行。它还具有Microsoft Windows的概念验证端口。
下载Nginx镜像
关于docker的命令就不介绍了,可以参考Docker的使用一文
1  | [root@bogon ~]# docker pull nginx  | 
1  | [root@bogon ~]# docker images  | 
可以看到,已经成功下载了Nginx镜像
启动
具体启动命令可以前往Docker Hub查询
简单启动
1  | [root@bogon ~]# docker run -d --name nginx-master -p 80:80 nginx  | 
1  | [root@bogon ~]# docker ps  | 
效果图
这时我们访问宿主机的80端口或者直接访问虚拟机的IP,看到以下页面说明启动成功了

默认的静态页面存放路径
进入nginx镜像
1  | [root@bogon ~]# docker exec -it nginx-master /bin/bash  | 
进入/usr/share/ngin/html,发现有如下两个页面,这个文件夹就是默认的存放路径
1  | root@e54ae797add2:/# cd /usr/share/nginx/html  | 
如何添加静态页面
使用cp、mv等命令将静态页面添加到默认路径下
1  | [root@bogon ~]# docker cp hello.html nginx-master://usr/share/nginx/html  | 
通过主机目录映射到容器的默认路径
在运行nginx镜像时,我们需要使用-v参数
1  | [root@bogon ~]# docker run -d -v $PWD/html:usr/share/nginx/html --name nginx-master -p 80:80 nginx  | 
-v  $PWD/html:usr/share/nginx/html 代表把当前路径下html目录映射为usr/share/nginx/html
也就是说主机下的html就是容器下的usr/share/nginx/html
html内的文件修改和添加就等同于容器usr/share/nginx/html文件操作
外网访问就可以访问得到,就不用再登录容器操作文件了
这里记录一下linux在防火墙开启的状态下打开一个端口
1  | echo "enter the port: "  | 
调整默认配置
从正在运行的nginx容器中执行以下命令
1  | docker run --name tmp-nginx-container -d nginx  | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 YD Blog!