docker入门:【docker安装nginx】【docker安装tomcat】保姆级教学!超详细版本(代码+图解) 【docker安装nginx】【了解nginx】Nginx是一个高性能的 Web 服务器 和 反向代理服务器也可以用作负载均衡器、HTTP 缓存和邮件代理。它由俄罗斯工程师伊戈尔·赛索耶夫开发2004年发布以占用内存少、处理并发能力强而闻名。相当于一个万能的门卫· 当你访问一个网站时浏览器请求先到达nginx、它决定是直接返回网页文件HTML/图片还是请求转发给后端的应用程序比如java、python、PHP· 若很多用户同时访问Nginx可以把请求分摊给多台后段服务器负载均衡避免某一台累垮· 他还能缓存经常请求的内容加快响应速度作用1️⃣ 静态文件服务器直接提供 HTML、CSS、JavaScript、图片等文件。比如把前端项目放在 Nginx 后面用户访问时不需要动态生成内容效率极高。2️⃣ 反向代理用户请求到达 Nginx 后Nginx 将请求转发给内部的服务如 Tomcat、Node.js、Django 等。对外暴露的是 Nginx 的地址隐藏了后端真实服务增加安全性。3️⃣ 负载均衡当有多个后端服务实例时Nginx 可以按策略轮询、最少连接、IP哈希等把请求分发到不同的实例提高系统整体处理能力。4️⃣ 缓存加速Nginx 可以缓存后端返回的响应下次相同请求直接返回缓存内容减轻后端压力提升响应速度。5️⃣ SSL/TLS 终端Nginx 可以处理 HTTPS 加密与客户端建立安全连接再以 HTTP 方式与后端通信简化后端配置。与docker的关系·在docker中经常运行nginx容器来作为Web服务器测试前端页面· 作为反向代理把请求转发到其他容器如docker run -p 80:80 nginx只是最基础的用法· 配合Let‘s Encrypt 做 HTTPS 终端对比apache占据内存小处理高并发能力强配置相对简单。【nginx安装步骤】下载镜像pulldocker pull nginx #下载nginxdocker images #查看是否启动运行测试可以通过公网的3344可以访问到docker里面的80端口⚠️简单来说就是后台启动一个叫nginx01的Nginx容器并把你自己电脑宿主机的端口映射到容器的80端口这样访问自己电脑的3344端口就能看到容器里的Nginx页面。对外公网你访问3344端口对内容器实际时80端口在工作docker run -d --name nginx01 -p 3344:80 nginx #宿主机端口映射到80端口⚠️-p表示暴露端口宿主机端口容器那边端口--name [名字] 给这个容器取名叫nginx01这里可以验证一下docker端口映射是否成功curl localhost:3344 #验证此时已经成功了这时在浏览器中打开http://localhost:3344同样可以看到欢迎页面【docker安装tomcat】首先可以去dockerhub上搜索一下#如果不想使用最新的可以去看一下版本号【tomcat安装步骤】docker pull tomcat:9.0-jdk11 #下载tomcat 或者可以直接docker pull tomcat #这个命令很快就可以搜索到下载速度快\docker images #查看正在运行的容器⚠️在下载tomcat的时候一定要加一个jdk的版本docker run -d -p 3355:8080 --name tomcat01 tomcat #内部的3355给外部的8080做一个映射并且给容器去一个新名字叫tomcat01查看公网⚠️这时需要把容器中的webapps.dist中的文件复制下载到webapps中⚠️原因是当你访问http://虚拟机IP:3355时Tomcat 默认会在webapps目录下寻找一个叫ROOT的应用。如果找不到就会返回 HTTP 404 状态码未找到。而我们下载的tomcat镜像为了精简体积默认吧webapps目录清空了而把默认的欢迎页面和示例应用放在了webapps.dist目录里。所以需要手动吧webapp.dist里的内容复制到webapps中【复制文件】docker exec -it tomcat01 /bin/bash #进入romcat01容器中ls #查看当前目录下的文件cd ./webapps #回到webapps目录中ls #查看webapps文件中什么也没有确认404原因cp -r webapps.dist/* webapps #复制webapps.dist中的文件放在webapps中cd /usr/local/tomcat/webapps #回到webapps目录ls #可以看到已经存在回到公网查看页面正常显示