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!