Docker部署Nginx
建立Nginx的Docker镜像
查找镜像
1 | docker search nginx |
拉取官方的Nginx镜像
1 | docker pull nginx |
查看当前的Docker镜像
1 | docker images |
运行Nginx
在容器中启动Nginx
1 | docker run -p 80:80 --name mynginx -v /usr/www:/www -v /usr/logs:/wwwlogs -d nginx |
查看运行容器
1 | docker ps |
容器的停止、启动、删除
1 | docker stop {CONTAINER ID} |
进入运行中的容器
1 | sudo docker exec -it {CONTAINER ID} /bin/bash |
UNIX下的操作
1 | 删除文件夹 |
将容器中的Nginx配置信息拷贝到主机中
1 | 需要检查主机的目录,nginx.conf 应该是文件不能是目录 |
使用挂载配置文件的方式在容器中启动Nginx
1 | docker run -p 80:80 --name mynginx -v /usr/www:/www -v /usr/conf/nginx/nginx.conf:/nginx/nginx.conf -v /usr/logs:/wwwlogs -d nginx |
使用Nginx反向代理tomcat
按照网上的帖子配置反向代理失败
1 | https://blog.csdn.net/boling_cavalry/article/details/70194072 |
继续想办法解决问题
1、查找资料
在百度上未能查找到有实际指导意义的文章
查找知乎,无果
查找简书,无果
2、找人解惑
QQ群,查找Docker的QQ群, 325486037 群里面有篇群分享文件
1
2
3 > Docker 问答录(100 问)
> https://blog.lab99.org/post/docker-2016-07-14-faq.html#ting-shuo-link-guo-shi-bu-zai-yong-liao-na-rong-qi-hu-lian-fu-wu-fa-xian-zen-me-ban
>
在文章中查找到另外一篇文章
1
2
3 > LNMP - Docker 多容器间协作互连
> https://coding.net/u/twang2218/p/docker-lnmp/git?public=true
>
测试后发现能同时启动,但无代理效果。
归零,放弃现在已安装的环境,从最初的Nginx安装开始,从走一个完整的流程,重头再一次的梳理问题的症结。
使用Nginx反向代理tomcat 成功
重新制作Nginx镜像
1 | 参考资料: |
1 | version: '2' |
1 | 6、启动 容器 |
总结 ————– 归零心态很重要
1 | 归零心态很重要,错误往往出现在旁枝末节中,不要钻牛角尖,也不要受损失厌恶干扰,直接从源头开始进行问题排查才是最高效的方法。 |
Nginx Https的设置
阿里ecs的Https设置,按照网上的帖子,以及官网的帖子,暂定都未能成功
解决思路
1、阿里有提供收费技术服务,但不清楚服务的范畴,如果是指导、解释性的帮助解决,还可以尝试
但如果是他在后台直接帮处理好,这个就没得意义了,下次还是无法处理。
2、归零,放弃现在已安装的环境,从最初的Nginx安装开始,从走一个完整的流程,重头再一次的梳理问题的症结。
从新安装Nginx并安装阿里的介绍进行设置
1 | https://yundun.console.aliyun.com/?spm=a2c1d.8251892.aliyun_sidebar.21.81005b76e4H5Xd&p=cas#/cas/download/1527604247222?regionId= |
http能访问https不能访问
进行问题定位
1、先服务器上测试https请求
1 | wget https://www.superplayer.top |
显示连接超时。
重新安装Nginx
1 | 1、删除命令 yum remove nginx |
修改配置信息
1 | /etc/nginx/nginx.conf |
测试
1 | 测试 https://www.superplayer.top/ 可以展现 Welcome to nginx on Fedora! 信息 |
使用Docker镜像的方式启动
1 | 1、修改镜像配置文件 /usr/image_nginx |
测试结果
1 | 1、测试:http://www.superplayer.top/test 无法访问 |
再次修改并测试
1 | 修改docker-compose.yml 文件修改端口 |
1 | 修改 nginx.conf 信息删除 |
成功经验总结,正确配置五步搞定
一、安装Nginx
1 | 1、删除命令 yum remove nginx |
二、Nginx 阿里 HTTPS配置
1 | /etc/nginx/nginx.conf |
三、制作Nginx镜像
nginx.conf 文件如下:
1 | user nginx; |
Dockerfile 文件如下:
1 | #基础镜像 |
注意事项
1 | 1、证书需要打包到镜像中 |
四、制作docker-compose
docker-compose.yml 文件如下:
1 | version: '2' |
注意事项
1 | links: |
五、容器组启停
1 | 进入 docker-compose.yml 文件目录 |
六、测试你的域名
这个时候应该能正常的实现 访问HTTPS域名,跳转到你的Tomcat服务中。
若无法访问,仔细检查之前的5个步骤,记住 归零心态很重要 。
实在查不出原因不要纠结不要气馁,从头再来一次。
七、容器组停止失败
1 | 停止容器组:docker-compose down |