Docker实战演练之组件篇:docker 部署nginx
前面我们已经熟悉了一些基本的docker操作命令和搭建了私有仓库,但是我们的目标是搭建出一个完整的开发环境来,接下来要做什么呢?我的想法是先部署个nginx,把前端页面给显示出来,所以部署nginx就成了当务之急。
一、准备
1.先下载nginx的镜像资源:docker pull nginx:latest (如对nginx版本有要求的朋友请下载指定版本)
2.新建几个文件夹和文件备使用 conf/nginx.conf,conf.d/default.conf,logs
文件存放位置如上所示
二、运行
准备工作已经做好了,接下来先运行试试 docker run --name -p 8080:80 -d nginx:latest
此时的nginx只能说在运行,怎么用起来呢,这时候就要用到上一步准备的那些文件了,用过nginx的朋友应该了解我们需要对nginx.conf这个文件进行配置,但是镜像资源的nginx与平常我们下载的nginx有一点点的不同,它多了一个conf.d/default.conf的文件,这个文件是做什么用的呢,让我进入nginx容器内查看这个文件就知道了
docker exec -it nginx bash
是不是有点眼熟,这就是原来nginx.conf中server的配置部分,把文件中的内容填充到容器外我们准备的default.conf中,记住这个路径 /etc/nginx/conf.d ,后面我们会用到,接下来看下容器内nginx.conf的内容
同样的复制内容填充到容器外相应的文件中,记住其路径:/etc/nginx/nginx.conf
exit 退出容器
接下来先关闭并删除nginx容器:docker stop nginx,docker rm nginx
然后挂载配置文件、日志、前端文件进行启动(注:在这里需要用到容器内前端文件存放的位置:/usr/share/nginx/html)
然后就是长长的一串命令:[docker run --name nginx -p 8080:80 -v /app/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /app/app-mysql/html:/usr/share/nginx/html -v /app/docker/nginx/logs:/var/log/nginx -v /app/docker/nginx/conf.d:/etc/nginx/conf.d -d nginx]
现在对这条命令进行解读下,–name 设置容器名,-p 8080:80 映射端口(将容器内的80端口映射到主机的8080端口),-v 挂载文件 ,能将你容器外的文件与容器内的文件互通,方便以后在容器外部改变文件内容,改变后,容器内也将同步(前面准备的文件作用就是于此,方便你改配置,查看日志和修前端文件),-d 后台运行。这样nginx就部署就告一段落了。
三、总结
总的来说现在来看docker部署nginx比较简单,不过当时我可是踩了不少坑的,特别是挂载文件那里,路径和两个配置文件要尤其注意,当然这只是很简单的运用,我也是根据我的经历来写的,如果有更简单的方法,还请赐教,不甚感激!一点成长,一点收获!