练习-部署nginx和部署tomcat

目录

前提

部署nginx

部署tomcat

打包镜像(构建新镜像)


前提

1 在wsl环境中配置docker

https://blog.csdn.net/m0_74124657/article/details/156836207?spm=1001.2014.3001.5502

2 熟悉docker 的镜像命令和容器命令

https://blog.csdn.net/m0_74124657/article/details/157262250?sharetype=blogdetail&sharerId=157262250&sharerefer=PC&sharesource=m0_74124657&spm=1011.2480.3001.8118

3 dockerhub远程仓库地址:https://hub-stage.docker.com/


部署nginx

前提:保障网络畅通

  • 使用镜像命令,拉取nginx

    docker pull nginx

如图所示,拉取成功

  • 使用容器命令启动nginx

首先展示:错误示例 直接使用:docker run -d nginx:latest 启动

如图所示,nginx 容器,确实启动成功了,但是发现你无法在外部访问nginx

解决办法:配置端口号映射,比如 nginx 内部 端口号是80 ,但是你无法直接使用80进行访问,于是构建一个端口号进行映射比如 使用8080 对标 nginx 的80 端口 这样就可以实现在浏览器上使用localhost:8080 端口号访问nginx 首页

示例:由于之前启动了nginx 容器,我选择把该容器清除,使用docker run -d nginx:latest -p 9999 :80 nginx:latest 重新开一个

由于之前做了端口号映射将之前的nginx 80端口号,映射为9999可以访问的端口号

部署tomcat

拉取tomcat 镜像

  • 这里如果不指定版本,就是默认下载最新的

    docker pull tomcat

  • 如果你要下载指定版本的tomcat ,这时候去浏览 dockerhub 远程仓库

这里,我拿 9.0.115-jre8-temurin-noble 举例 下载,配置端口号映射8081---》8080

示例:docker run -d -p8081:8080 --name tomcat01 tomcat:9.0.115-jre8-temurin-noble

最后在浏览器 使用8081 端口访问,报404 ,没有可以被访问的首页或其他前端文件

  • 进入到tomcat 的交互模式,tomcat的bash状态

如下图所示,可以看到webapps文件夹中是空的,没有任何可访问的 Web 应用文件,Tomcat 自然会返回 404

解决办法:通过Al查询到webapps.dist文件夹中有相关前端文件,将这些文件复制到webapps文件夹中,就可以实现浏览器访问了

复制文件命令:cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/

  • 进入examples 文件夹中,可以看到像 index.html 首页 等前端文件

访问成功!!!

打包镜像(构建新镜像)

补充:这时候,想从dockerhub 下载的tomcat 镜像如果 在webapps文件夹中都没有前端文件,我们是否可以将之前我们配好的tomca 打包成一个镜像,让别人使用,并下载呢?

复制代码
# 提交并指定作者和新镜像名
docker commit -a "自定义名字" "容器名"  "自定义的镜像名"

操作命令:docker commit -a dj tomcat01 fix-tomcat

解释:用户 dj 将 容器名为tomcat01打包成镜像名为fix-tomcat

相关推荐
不愿透露姓名的大鹏1 天前
Oracle Undo空间爆满急救指南(含在线切换+更优方案+避坑指南)
linux·运维·数据库·oracle
艾莉丝努力练剑1 天前
【Linux线程】Linux系统多线程(三):Linux线程 VS 进程,线程控制
java·linux·运维·服务器·c++·学习·ubuntu
浮芷.1 天前
Flutter 框架跨平台鸿蒙开发 - 智能家电故障诊断应用
运维·服务器·科技·flutter·华为·harmonyos·鸿蒙
航Hang*1 天前
网络安全技术基础——第3章:网络攻击技术
运维·网络·笔记·安全·web安全·php
云捷配低代码1 天前
低代码自动化工作流实战:实现跨部门业务协同的自动化流转
运维·人工智能·低代码·自动化·数字化·敏捷流程·数字化转型
SP八岐大兔1 天前
NPM管理OpenClaw安装、卸载及运维命令
运维·前端·npm·openclaw
萧行之1 天前
Linux 下 Miniconda3 清华源极速安装教程(含报错解决、一键复制)
linux·运维·服务器
ZzzZZzzzZZZzzzz…1 天前
MySQL备份还原方法2----LVM
linux·运维·数据库·mysql·备份还原
杨浦老苏1 天前
轻量级RSS源处理中间件FeedCraft
人工智能·docker·ai·群晖·rss
Devin~Y1 天前
大厂 Java 面试实战:从电商微服务到 AI 智能客服(含 Spring 全家桶、Redis、Kafka、RAG/Agent 解析)
java·spring boot·redis·elasticsearch·spring cloud·docker·kafka