构建Java Web应用实验

2023-10-30

1. 创建负责下载WAR文件的镜像

(1)创建一个目录fetcher,保存相关的配置信息和内容,在#后输入mkdir fetcher&&cd fetcher命令,然后按Enter键,创建fetcher目录并进入该目录。示例代码如下:

[root@xiandian ~]# mkdir fetcher&&cd fetcher

[root@xiandian fetcher]#

(2)创建Dockerfile文件,在#后输入vi Dockerfile命令,然后按Enter键,创建Dockerfile文件。示例代码如下:

[root@xiandian fetcher]# vi Dockerfile

Dockerfile文件的内容,如下所示:

FROM ubuntu:14.04.3

MAINTAINER James Turnbull "james@example.com"

ENV REFRESHED_AT 2016-12-25

RUN apt-get -y update

RUN apt-get -y install wget

VOLUME [ "/var/lib/tomcat7/webapps/" ]

WORKDIR /var/lib/tomcat7/webapps/

ENTRYPOINT [ "wget" ]

CMD [ "-?" ]

说明:当执行容器时,指定URL下载WAR包,下载保存在/var/lib/tomcat7/webapps/ 目录下。此目录也是一个卷和所有容器的工作目录。然后把这个卷共享给运行tomcat服务的容器。

(3)构建镜像,在#后面输入docker build -t jamtur01/fetcher .命令,然后按Enter键,构建镜像。示例代码如下所示:

[root@xiandian fetcher]# docker build -t jamtur01/fetcher .

构建镜像成功,如图1所示:
在这里插入图片描述

(4) 运行容器,并指定URL下载WAR包,在#后输入docker run -t -i --name sample jamtur01/fetcher https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war命令,然后按Enter键,运行容器并下载war包。示例代码如下:

[root@xiandian fetcher]# docker run -t -i --name sample jamtur01/fetcher https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war

下载war包成功,如图2所示:
在这里插入图片描述
(5)在#后面输入 docker inspect -f “{{ range .Mounts }} {{.}} {{end}}” sample命令,查找卷的存储位置。示例代码如下:

[root@xiandian fetcher]# docker inspect -f “{{ range .Mounts }} {{.}} {{end}}” sample

查询效果截图,如图3所示:
在这里插入图片描述

2. 创建负责运行Tomat和Web应用的镜像

(1)在#后输入cd命令,然后按Enter键,返回到根目录,示例代码如下:

[root@xiandian ~]# cd

[root@xiandian ~]#

(2)在#后输入mkdir tomcat7&&cd tomcat7命令,然后按Enter键,创建tomcat7并进入到该目录,示例代码如下:

[root@xiandian ~]# mkdir tomcat7&&cd tomcat7

[root@xiandian tomcat7]#

(3)编写Dockerfile,在#后输入vi Dockerfile命令,然后按Enter键,创建Dockerfile文件,示例代码如下:

[root@xiandian tomcat7]# vi Dockerfile

Dockerfile文件的内容,如下所示:

FROM ubuntu:14.04.3

MAINTAINER James Turnbull james@example.com

ENV REFRESHED_AT 2016-12-25

RUN apt-get -y update

RUN apt-get -y install tomcat7 default-jdk

ENV CATALINA_HOME /usr/share/tomcat7

ENV CATALINA_BASE /var/lib/tomcat7

ENV CATALINA_PID /var/run/tomcat7.pid

ENV CATALINA_SH /usr/share/tomcat7/bin/catalina.sh

ENV CATALINA_TMPDIR /tmp/tomcat7-tomcat7-tmp

RUN mkdir -p $CATALINA_TMPDIR

VOLUME [ "/var/lib/tomcat7/webapps/" ]

EXPOSE 8080

ENTRYPOINT [ "/usr/share/tomcat7/bin/catalina.sh","run" ]

这个镜像很简单,首先安装Java Jdk和Tomcat服务器,接着设置环境变量,然后创建了/var/lib/tomcat7/webapps/卷,公开Tomcat默认的8080端口,最后ENTRYPOINT指定来启动tomcat的命令。

(4)构建镜像,在#后输入 docker build -t jamtur01/tomcat7 .命令,然后按Enter键,进行构建镜像操作,示例代码如下:

[root@xiandian tomcat7]# docker build -t jamtur01/tomcat7 .

构建镜像成功,如图4所示:
在这里插入图片描述

(5)查询镜像,在#后输入 docker images命令,然后按Enter键,查询镜像,示例代码如下:

[root@xiandian tomcat7]# docker images

查询镜像,如图5所示:

在这里插入图片描述

(6)创建tomcat实例,在#后输入docker run --name sample_app --volumes-from sample -d -P jamtur01/tomcat7命令,然后按Enter键,启动容器,示例代码如下:

[root@xiandian tomcat7]# docker run --name sample_app --volumes-from sample -d -P jamtur01/tomcat7

启动容器截图,如图6所示:

在这里插入图片描述

(7)查找Tomcat应用的端口,在#后输入docker port sample_app 8080命令,然后按Enter键,查询端口,示例代码如下:

[root@xiandian tomcat7]# docker port sample_app 8080

查询应用端口截图,如图7所示:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

构建Java Web应用实验 的相关文章

  • git切换分支时报错(error: pathspec ‘master‘ did not match any file(s) known to git.)的解决方法

    git切换分支时报错 切换分支 root git my code git checkout master 产生如下报错 error pathspec master did not match any file s known to git
  • 【Docker】Docker-compose容器编排的使用

    怒目的在CentOS系统中部署安装Docker compose容器编排服务 使用Docker compose服务构建Python Web镜像和容器 1 安装Docker compose 1 通过实训平台进入到操作系统界面 在 后输入yum
  • 使用ECS和mysql搭建mysql服务器

    一 首先得在阿里云等云主机上申请两台主机 二 现在连上去安装mysql 1 通过安装源将mysql下载下来 root iz2ze2llim71y07x3numlbz wget https dev mysql com get mysql57
  • 27 openEuler管理网络-通过ifcfg文件配置网络

    文章目录 27 openEuler管理网络 通过ifcfg文件配置网络 27 1 配置静态网络 27 2 配置动态网络 27 3 配置默认网关 27 openEuler管理网络 通过ifcfg文件配置网络 说明 通过ifcfg文件配置的网络
  • 云计算基础-基本概念(一)

    云计算基本概念 一 一 网络 1 VPC 虚拟专有网络 2 LB 负载均衡 3 vFW 虚拟防火墙 4 TOR 5 Region 6 AZ 可用区 7 Overlay和Underlay 8 VPC对等连接 9 BGW 10 NAT Gate
  • linux内存利用率计算方式

    一 查看内存的方式 root vmware free h root vmware cat proc meminfo 需要使用的指标有 MemTotal MemFree Buffers Cached MemTotal 总内存大小 MemFre
  • 【华为云计算产品系列】云上容灾架构实战部署详解

    华为云计算产品系列 云上容灾架构实战部署详解 1 前言 2 容灾方案介绍 2 1 本地高可用 2 2 同城双活 2 3 主备容灾 同步远程复制 异步远程复制 2 3 1 同步远程复制 2 3 2 异步远程复制 2 4 两地三中心 3 基于主
  • 一文揭秘饿了么跨端技术的演进、实践与落地

    本文会先带领大家一起简单回顾下跨端技术背景与演进历程与在这一波儿接着一波儿的跨端浪潮中的饿了么跨端现状 以及在这个背景下 相较于业界基于 React Vue 研发习惯出发的各种跨端方案 饿了么为什么会选择走另外一条路 这个过程中我们的一些思
  • 云函数部署之网易云

    云函数部署之网易云 云函数 什么是云函数 就是可以让你没有服务器 本地电脑不用下载Python也可以使用这个项目 而且还是白嫖 既解决了很多人部署的麻烦 也给了那些被劝退的朋友回来的勇气 十分钟便可以全部弄完 1 进入云函数 这里拿腾讯云的
  • KVM热迁移

    KVM热迁移 介绍 KVM热迁移的前提是拥有共享存储 以下通过NFS实现KVM热迁移 迁移过程 将一处于运行状态的KVM虚拟机从节点kvm 01迁移到kvm 02后继续运行 准备 主机准备 hostname IP地址 系统 配置 kvm 0
  • 腾讯技术面经-后台-云计算虚拟化部门

    1 笔试 不区分 都是软开岗位 2个小时 一般1小时足够了 25道选择题 10道填空 还有2个选做题 涉及到操作系统 内存 HTTP协议 TCP UDP协议 LLR 0 LLR 1 数据结构 算法 C语言 协议 Ipv4
  • hive的3种数据存储格式

    hive有textFile SequenceFile RCFile三种文件格式 其中textfile为默认格式 建表时不指定默认为这个格式 导入数据时会直接把数据文件拷贝到hdfs上不进行处理 SequenceFile RCFile格式的表
  • 从阿里云OSS获取文件,下载打包

    从OSS服务上批量获取文件下载 并打包zip Slf4j Component RefreshScope public class OssBootUtil 初始化 oss 客户端 return private static OSSClient
  • 戴尔工作站测试VMware虚拟机使用 RTX4090显卡

    1 随着人工智能和AI的发展 显卡运算获得越来越广发的运用 nvidia必然是首选 如何将nvidia显卡应用于虚拟机成为一个新的需求 好处是不同虚拟机可以轮流使用显卡进行计算 缺点是不能同时使用 本次需求为硬件为戴尔工作站 里面装两块 R
  • 阿里云一二级域名配置

    一级域名配置 二级域名配置
  • CloudPulse:一款针对AWS云环境的SSL证书搜索与分析引擎

    关于CloudPulse CloudPulse是一款针对AWS云环境的SSL证书搜索与分析引擎 广大研究人员可以使用该工具简化并增强针对SSL证书数据的检索和分析过程 在网络侦查阶段 我们往往需要收集与目标相关的信息 并为目标创建一个专用文
  • 阿里云服务器地域怎么选择?哪个地域好?

    阿里云服务器地域和可用区怎么选择 地域是指云服务器所在物理数据中心的位置 地域选择就近选择 访客距离地域所在城市越近网络延迟越低 速度就越快 可用区是指同一个地域下 网络和电力相互独立的区域 可用区之间可以做到故障隔离 将应用部署到不同可用
  • 8大数字技术打造ESG发展新范式!工业“双碳”建设应该这么做

    随着国家 双碳 目标的提出 数字化 绿色化证进入历史交汇 协同发展 路径合一 相辅相成的重要阶段 在此背景下 中国信通院 中国航天航空 工业互联网产业联盟于2022年联合出版了 数字技术赋能工业碳达峰碳中和应用指南 以下简称 指南 今年又细
  • 阿里云2核4G服务器优惠价格30元3个月?小心坑

    2024年阿里云2核4G服务器优惠价格30元3个月 活动 https t aliyun com U bLynLC 配置为云服务器ECS经济型e实例ecs e c1m2 large 3M固定带宽 系统盘为40GB ESSD Entry 活动打
  • 从不同维度的调研数据,看企业数字化转型

    数字化转型逐渐成为企业增长和价值创造的新引擎 然而 在复杂的背景下 企业数字化转型也面临着前所未有的挑战和机遇 未来 我们还能做些什么 怎么做 这成为了各企业高管当前亟需厘清的问题 企业做数字化转型的原因 总体来看 大部分受访企业做数字化转

随机推荐

  • 牛顿迭代法解非线性方程组(附C++代码)

    目录 一 公式介绍 二 应用环境 三 C 代码 实例说明 C 编译环境 C 代码 运行结果 特别注意 解决方法 一 公式介绍 牛顿迭代法基本公式 迭代出 面对非线性方程组问题 将上式变形 其中为 注 这里面的不再时代表一个值 而是代表关于变
  • SpringBoot---@DeleteMapping

    DeleteMapping 在编写代码时引用了 DeleteMapping 注解 DeleteMapping value remove courseNo public String remove PathVariable courseNo
  • linux中shell脚本命令使用详解

    文章目录 一 普通用户和超级用户 二 关于系统的操作 三 关于文件操作 3 1 ls显示文件 3 2 cd进出目录 3 3 mkdir创建目录 3 4 touch创建文件 3 5 cp复制命令 3 6 rm删除命令 3 7 cat命令 3
  • 注意力机制:CA - Coordinate Attention for Efficient Mobile Network Design(文末附代码)

    注意力机制 CA Coordinate Attention for Efficient Mobile Network Design 摘要 引言 具体而言 优势 相关工作 Mobile Network 架构 注意力机制 Coordinate
  • java 正则表达式 检测数学公式是否正确_java 正则表达式 检测数学公式是否正

    java 正则表达式 检测数学公式是否正 2021 02 05 13 33 36 简介 java中正则表达式基本用法的使用 1 Test01 java 使用正则表达式使代码变得非常简洁 2 TestMatcher01 java Matche
  • IBM近期扩充Watson认知API服务

    本文转载至 http www infoq com cn news 2016 03 watson cognitive apis 近期 IBM对Watson认知API服务进行了扩充 新增了情绪和语调分析API的测试版本 Watson的情绪分析A
  • Flutter 组件抽取:验证码输入功能(CodeInputContainer)

    简介 验证码输入框 可选需要输入的验证码个数 输入达指定个数后自动回调 效果 范例 class TestPageState extends State
  • 【通信原理】七、数字带通传输系统

    文章目录 一 2ASK振幅键控 2ASK振幅键控原理 2ASK包络检波 2ASK相干解调法 二 2FSK频移键控 过零点检测解调法 三 2PSK相移键控 四 2DPSK差分相移键控 差分相干解调 相位比较法 五 已调信号功率谱密度 六 抗噪
  • VB.Net正则表达式大全(3)

    深入浅出之正则表达式 注 JanGoyvaerts为RegexBuddy写的教程的译文 前言 半年前我对正则表达式产生了兴趣 在网上查找过不少资料 看过不少的教程 最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好 可
  • IDEA插件之输入法自动切换【Smart Input Source】

    MAC系统推荐快捷键 针对输入切换无需快捷键 但是在某些场景下比如Git Diff的时候可能存在自动跳转到源文件的情况 这种时候需要手动关闭自动切换功能 给作者提了个建议对这种场景进行优化 建议使用的快捷键 C代表关闭 O代表打开 介绍 解
  • 量子云计算:实现自我验证!

    量子云计算 实现自我验证 背景 即使对于世界上最强大的经典计算机来说 有些极度复杂的计算仍然需要花费漫长的时间 可是 从理论上说 量子计算机却可以完全胜任非常复杂的计算任务 原因是 不同于经典计算机的比特位 量子计算机拥有 量子位 经典二进
  • 人工智能讲师专家老师叶梓人工智能讲师之机器学习与深度学习-34

    接上一篇 系列博文 人工智能讲师叶梓关于人机器学习与深度学习入门课程课件 为系列博文 更多课程 及老师资料可点击 个人主页 最小二乘法的示意图 R语言实现的一元线性回归 一元回归的PYTHON实现 IMPORT PANDAS AS PD f
  • 前端实现csv文件的解析预览、上传、下载

    最近遇到了一些关于csv文件的上传 下载 解析预览 删除的需求 因为之前没有做过 尤其是关于csv的解析并预览 于是记录一下 上传 关于上传 绝大部分的选择都是通过第三方的OSS进行存储 比如阿里云的 这个其实没什么难度 有文档可以看 对于
  • ServiceLoader SPI的简单认知

    写了这么长时间的代码 竟然没有用过jdk SPI的ServiceLoader 深表遗憾 为什么写这个 因为在看Sentinel配置代码的时候 看到了这个 挺好用的 用法 在jar包中 resources 中建立 META INF servi
  • Java客户端连接不了安装在CentOS7上的redis解决方案

    今天初试了使用Java Redisson 客户端连接安装在CentOS上的redis 发现一直连接不了 报错信息如下 Exception in thread main com lambdaworks redis RedisException
  • HTML教程

    文章目录 HTML 1 HTML 概述 2 第一个 HTML 代码 3 HTML 标签分类 4 HTML基本标签 4 1 结构标签 4 2 排版标签 4 3 块标签和行内标签 4 4 文本标签 已过时 4 5 文本格式标签 4 6 标题标签
  • mybatis TypeHandler详解

    1 TypeHandler概念 TypeHandler 类型转换器 在mybatis中用于实现java类型和JDBC类型的相互转换 mybatis使用prepareStatement来进行参数设置的时候 需要通过typeHandler将传入
  • 简单的LVGL按键例程

    以下是一个简单的LVGL按键例程 使用LVGL的按键事件来处理按钮的单击和长按操作 include lvgl lvgl h void btn click action lv obj t obj 处理按钮单击事件 void btn long
  • ASP.NET -- WebForm -- ScriptManager 类

    ASP NET WebForm ScriptManager 类 通过 ScriptManager 可注册随后将作为页面一部分呈现的脚本 1 注册并立即执行脚本 RegisterStartupScript 方法 例 在ASP NET中实现和
  • 构建Java Web应用实验

    1 创建负责下载WAR文件的镜像 1 创建一个目录fetcher 保存相关的配置信息和内容 在 后输入mkdir fetcher cd fetcher命令 然后按Enter键 创建fetcher目录并进入该目录 示例代码如下 root xi