当前位置: 首页 > news >正文

第四节 docker基础之---dockerfile部署JDK

本地宿主机配置jdk

创建test目录:

[root@docker ~]# mkdir test
压缩包tomcat和jdk上传到root/test目录下:

本机部署Jdk

解压jdk:

[root@docker test]# tar -xf jdk-8u211-linux-x64.tar.gz
[root@docker test]# tar -xf apache-tomcat-8.5.35.tar.gz
[root@docker test]# ll
总用量 199844
drwxr-xr-x 9 root root       220 2月   4 14:25 apache-tomcat-8.5.35
-rw-r--r-- 1 root root   9642757 2月   4 14:23 apache-tomcat-8.5.35.tar.gz
drwxr-xr-x 7   10  143       245 4月   2 2019 jdk1.8.0_211
-rw-r--r-- 1 root root 194990602 2月   4 14:23 jdk-8u211-linux-x64.tar.gz
[root@docker test]#
移动到/user/local/jdk目录下:

[root@docker test]# mv jdk1.8.0_211 /usr/local/jdk
修改配置文件:

[root@docker local]# vi /etc/profile
#进入之后到达最低行进行粘贴下面配置
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
加载环境变量:

[root@docker local]# source /etc/profile
执行java:

[root@docker local]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
[root@docker local]#出现1.8.8——211说明java环境已经配置完成
配置tomcat:
移动到/user/local/tomcat目录下:

[root@docker test]# mv apache-tomcat-8.5.35 /usr/local/tomcat
进入tomcat目录下:

[root@docker ~]# cd /usr/local/tomcat/
[root@docker tomcat]# ll
总用量 124
drwxr-x--- 2 root root  4096 2月   4 14:25 bin
-rw-r----- 1 root root 19539 11月  4 2018 BUILDING.txt
drwx------ 2 root root   238 11月  4 2018 conf
-rw-r----- 1 root root  6090 11月  4 2018 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 2月   4 14:25 lib
-rw-r----- 1 root root 57092 11月  4 2018 LICENSE
drwxr-x--- 2 root root     6 11月  4 2018 logs
-rw-r----- 1 root root  1726 11月  4 2018 NOTICE
-rw-r----- 1 root root  3255 11月  4 2018 README.md
-rw-r----- 1 root root  7142 11月  4 2018 RELEASE-NOTES
-rw-r----- 1 root root 16262 11月  4 2018 RUNNING.txt
drwxr-x--- 2 root root    30 2月   4 14:25 temp
drwxr-x--- 7 root root    81 11月  4 2018 webapps
drwxr-x--- 2 root root     6 11月  4 2018 work
[root@docker tomcat]#
启动tomcat:

[root@docker local]# cd bin/
[root@docker bin]# ./startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
查看进程:

[root@docker bin]# ps -ef | grep tomcat
root       1699      1  3 14:46 pts/0    00:00:02 /usr/local/jdk/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       1747   1479  0 14:47 pts/0    00:00:00 grep --color=auto tomcat
[root@docker bin]#
浏览器访问tomcat网页默认8080端口:

dockerfile部署JDK

FROM centos:7
ADD jdk-8u211-linux-x64.tar.gz /usr/local
RUN mv /usr/local/jdk1.8.0_211 /usr/local/jdk
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
ADD apache-tomcat-8.5.35.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-8.5.35 /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
创建dockerfile文档在压缩包目录下创建:

[root@docker test]# cat dockerfile
FROM centos:7
ADD jdk-8u211-linux-x64.tar.gz /usr/local
RUN mv /usr/local/jdk1.8.0_211 /usr/local/jdk
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
ADD apache-tomcat-8.5.35.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-8.5.35 /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
[root@docker test]#
进行执行:

[root@docker test]# docker build -t mycentos:jdk .
开启防火墙映射80端口:

[root@docker test]# systemctl restart firewalld
[root@docker test]# docker run -itd -p 80:8080 mycentos:jdk /bin/bash
6220d56db4101a1a64094dee1fd8dde1aa9c728134a0f969c5424b1d970b0376
[root@docker test]#
进行访问80端口:

配置挂载

创建一个目录:

[root@docker test]# mkdir ROOT
[root@docker test]# cd ROOT/
[root@docker ROOT]# pwd
/root/test/ROOT
执行:

[root@docker ROOT]# docker run -itd -p 8080:8080 -v /root/test/ROOT:/usr/local/tomcat/webapps/ROOT mycentos:jdk /bin/bash                df61af407921dee07f06a66c1a517822c55c9f4e7609412d95d961412c097366
创建一个网页文件:

[root@docker ROOT]# cat index.html
hello world
[root@docker ROOT]#
进行访问8080端口:

相关文章:

第四节 docker基础之---dockerfile部署JDK

本地宿主机配置jdk 创建test目录: [rootdocker ~]# mkdir test 压缩包tomcat和jdk上传到root/test目录下: 本机部署Jdk 解压jdk: [rootdocker test]# tar -xf jdk-8u211-linux-x64.tar.gz [rootdocker test]# tar -xf apache-tomcat-8.5.…...

Arcgis/GeoScene API for JavaScript 三维场景底图网格设为透明

项目场景: 有时候加载的地图服务白色区域会露底,导致在三维场景时,露出了三维网格,影响效果,自此,我们需要将三维场景的底图设为白色或透明。 问题描述 如图所示: 解决方案: 提示…...

基于javaweb的SpringBoot电影推荐系统

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 运行环境开发工具适用功能说明项目介绍环境需要技术栈使用说明 运行环境 Java≥8、MySQL≥5.7 开发工具 eclipse/idea/myeclips…...

【kafka系列】Topic 与 Partition

Kafka 的 Topic(主题) 和 Partition(分区) 是数据组织的核心概念,它们的映射关系及在 Broker 上的分布直接影响 Kafka 的性能、扩展性和容错能力。以下是详细解析: 一、Topic 与 Partition 的映射关系 Top…...

大数据项目2:基于hadoop的电影推荐和分析系统设计和实现

前言 大数据项目源码资料说明: 大数据项目资料来自我多年工作中的开发积累与沉淀。 我分享的每个项目都有完整代码、数据、文档、效果图、部署文档及讲解视频。 可用于毕设、课设、学习、工作或者二次开发等,极大提升效率! 1、项目目标 本…...

[笔记] 汇编杂记(持续更新)

文章目录 前言举例解释函数的序言函数的调用栈数据的传递 总结 前言 举例解释 // Type your code here, or load an example. int square(int num) {return num * num; }int sub(int num1, int num2) {return num1 - num2; }int add(int num1, int num2) {return num1 num2;…...

同步阻塞IO和多路复用IO(epoll)的性能对比

多路复用 I/O(如 epoll)相比传统的同步阻塞 I/O 在网络性能上具有显著优势,主要原因在于其高效的事件驱动机制和对高并发的优化能力。 1. 同步阻塞 I/O 的性能瓶颈 在传统的同步阻塞 I/O 模型中,每个网络连接通常需要一个独立的线…...

前端 CSS 动态设置样式::class、:style 等技巧详解

一、:class 动态绑定类名 v-bind:class&#xff08;缩写为 :class&#xff09;可以动态地绑定一个或多个 CSS 类名。 1. 对象语法 通过对象语法&#xff0c;可以根据条件动态切换类名。 <template><div :class"{ greenText: isActive, red-text: hasError }&…...

qt widget和qml界面集成到一起

将 Qt Widgets 和 QML 界面集成在一起可以利用 QQuickWidget 或 QQuickView。以下是基本步骤: 使用 QQuickWidget 创建 Qt Widgets 项目: 创建一个基于 Widgets 的应用程序。添加 QQuickWidget: 在你的窗口或布局中添加 QQuickWidget。 例如,可以在 QMainWindow 中使用: …...

BUU30 [网鼎杯 2018]Fakebook1

是一个登录界面&#xff0c;我们先注册一个试试&#xff1a; 用dirsearch扫描出来robots.txt&#xff0c;也发现了flag.php&#xff0c;并下载user.php.bak 源代码内容&#xff1a; <?phpclass UserInfo {public $name "";public $age 0;public $blog &quo…...

信息科技伦理与道德3-2:智能决策

2.2 智能推荐 推荐算法介绍 推荐系统&#xff1a;猜你喜欢 https://blog.csdn.net/search_129_hr/article/details/120468187 推荐系统–矩阵分解 https://blog.csdn.net/search_129_hr/article/details/121598087 案例一&#xff1a;YouTube推荐算法向儿童推荐不适宜视频 …...

《代码随想录第二十八天》——回溯算法理论基础、组合问题、组合总和III、电话号码的字母组合

《代码随想录第二十八天》——回溯算法理论基础、组合问题、组合总和III、电话号码的字母组合 本篇文章的所有内容仅基于C撰写。 1. 基础知识 1.1 概念 回溯是递归的副产品&#xff0c;它也是遍历树的一种方式&#xff0c;其本质是穷举。它并不高效&#xff0c;但是比暴力循…...

PromptSource官方文档翻译

目录 核心概念解析 提示模板&#xff08;Prompt Template&#xff09; P3数据集 安装指南 基础安装&#xff08;仅使用提示&#xff09; 开发环境安装&#xff08;需创建提示&#xff09; API使用详解 基本用法 子数据集处理 批量操作 提示创建流程 Web界面操作 手…...

USB子系统学习(四)用户态下使用libusb读取鼠标数据

文章目录 1、声明2、HID协议2.1、描述符2.2、鼠标数据格式 3、应用程序4、编译应用程序5、测试6、其它 1、声明 本文是在学习韦东山《驱动大全》USB子系统时&#xff0c;为梳理知识点和自己回看而记录&#xff0c;全部内容高度复制粘贴。 韦老师的《驱动大全》&#xff1a;商…...

Ansible简单介绍及用法

一、简介 Ansible是一个简单的自动化运维管理工具&#xff0c;基于Python语言实现&#xff0c;由Paramiko和PyYAML两个关键模块构建&#xff0c;可用于自动化部署应用、配置、编排task(持续交付、无宕机更新等)。主版本大概每2个月发布一次。 Ansible与Saltstack最大的区别是…...

目前推荐的优秀编程学习网站与资源平台,涵盖不同学习方式和受众需求

一、综合教程与互动学习平台 菜鸟教程 特点:适合零基础新手,提供免费编程语言教程(Python、Java、C/C++、前端等),页面简洁且包含大量代码示例,支持快速上手。适用人群:编程入门者、需要快速查阅语法基础的学习者。W3Schools 特点:专注于Web开发技术(HTML、CSS、JavaS…...

软件工程-软件需求规格说明(SRS)

基本介绍 目标 便于用户、分析人员、设计人员进行交流 支持目标软件系统的确认&#xff08;验收&#xff09; 控制系统进化过程&#xff08;追加需求&#xff09;&#xff1a;拥有版本记录表 需要在软件分析完成后&#xff0c;编写完成软件需求说明书。 具体标准可参考GB…...

运维_Mac环境单体服务Docker部署实战手册

Docker部署 本小节&#xff0c;讲解如何将前端 后端项目&#xff0c;使用 Docker 容器&#xff0c;部署到 dev 开发环境下的一台 Mac 电脑上。 1 环境准备 需要安装如下环境&#xff1a; Docker&#xff1a;容器MySQL&#xff1a;数据库Redis&#xff1a;缓存Nginx&#x…...

UE5.5 PCGFrameWork--GPU CustomHLSL

在上一篇UE5.5 PCGFrameWork使用入门-CSDN博客 大致介绍了UE5 PCG框架的基本使用. 本篇探索PCGFrame的高级应用--GPU点云。也就是利用GPU HLSL编程对点云进行操纵&#xff0c;可以大幅度提升点云生成效率。 目前在UE5 PCG框架中&#xff0c;点云GPU的应用大致分为三类: Point…...

RabbitMQ 如何设置限流?

RabbitMQ 的限流&#xff08;流量控制&#xff09;主要依赖于 QoS&#xff08;Quality of Service&#xff09; 机制&#xff0c;即 prefetch count 参数。这个参数控制每个消费者一次最多能获取多少条未确认的消息&#xff0c;从而避免某个消费者被大量消息压垮。 1. RabbitMQ…...

Syncfusion Dashboard部署指南:从开发到生产环境的完整流程

Syncfusion Dashboard部署指南&#xff1a;从开发到生产环境的完整流程 【免费下载链接】project_syncfusion_dashboard This is a code repository for the corresponding YouTube video. In this tutorial we are going to build and deploy a an admin dashboard app using …...

自动化测试框架选型:Selenium vs Cypress深度对比

在快速迭代的软件开发周期中&#xff0c;自动化测试框架的选型直接影响产品质量与交付效率。Selenium与Cypress作为当前主流工具&#xff0c;分别代表了传统与现代化的技术路线。本文将从架构设计、核心特性、适用场景及未来趋势等维度&#xff0c;为测试从业者提供深度对比分析…...

Eclipse Paho Android连接管理:自动重连与离线消息缓冲的完整实现指南

Eclipse Paho Android连接管理&#xff1a;自动重连与离线消息缓冲的完整实现指南 【免费下载链接】paho.mqtt.android Eclipse Paho是一个开源的物联网消息代理库。它支持多种协议&#xff0c;包括MQTT、AMQP和HTTP&#xff0c;并提供各种语言的客户端库。Paho适用于需要在物联…...

MedGemma-X镜像轻量化:去除冗余依赖+精简日志+压缩缓存的体积优化实践

MedGemma-X镜像轻量化&#xff1a;去除冗余依赖精简日志压缩缓存的体积优化实践 1. 引言&#xff1a;为什么需要优化MedGemma-X镜像&#xff1f; 如果你已经体验过MedGemma-X的强大功能——那种像专业医生一样“对话式”阅片的智能体验&#xff0c;可能会发现一个现实问题&am…...

从电动车痛点出发:双三相永磁电机如何靠‘弱磁’跑得更远更快?(深入对比凸极与隐极设计)

双三相永磁电机弱磁控制技术&#xff1a;破解电动车高速性能瓶颈的工程实践 电动车的高速巡航与急加速能力一直是用户关注的焦点&#xff0c;而永磁同步电机&#xff08;PMSM&#xff09;的弱磁控制技术正是解锁这一性能的关键。不同于传统三相电机&#xff0c;双三相永磁同步…...

跨平台OCR新利器:PP-OCRv5模型转ONNX实战指南,轻松应对多语言识别挑战

1. 为什么需要跨平台OCR解决方案 在日常工作和生活中&#xff0c;我们经常会遇到需要处理多语言文档的场景。比如收到一份包含中文、英文和日文的合同&#xff0c;或者需要从产品包装上识别不同语言的说明文字。传统OCR方案往往需要针对不同语言训练多个模型&#xff0c;不仅部…...

Ubuntu 20.04 下通过 PPA 快速部署 qBittorrent 及配置指南

1. 为什么选择qBittorrent&#xff1f; 如果你经常需要下载大型文件&#xff0c;比如开源系统镜像、影视素材或者游戏资源&#xff0c;那么一个靠谱的BT客户端绝对是刚需。我在Ubuntu上试过各种BT工具&#xff0c;最终发现qBittorrent是最稳定高效的选择。它完全开源免费&#…...

如何在Ozon产品测款?用CaptainAI精准锁定爆款潜力款

做Ozon运营&#xff0c;测款是店铺长期盈利的关键——选对款能事半功倍&#xff0c;测错款则会积压库存、浪费成本&#xff0c;中小卖家资金精力有限&#xff0c;盲目铺货测款易陷入“高投入、低回报”困境。很多卖家测款常踩坑&#xff1a;凭感觉跟风选热门款&#xff0c;竞争…...

三相永磁同步电机FOC控制实战:从霍尔传感器配置到SVPWM调参避坑指南

三相永磁同步电机FOC控制实战&#xff1a;从霍尔传感器配置到SVPWM调参避坑指南 当你在深夜的实验室里盯着示波器上跳动的波形&#xff0c;试图让一台三相永磁同步电机平稳启动时&#xff0c;是否经历过这样的场景&#xff1a;明明按照手册配置了所有参数&#xff0c;电机却像喝…...

如何快速配置安卓虚拟摄像头VCAM:专业使用技巧完整指南

如何快速配置安卓虚拟摄像头VCAM&#xff1a;专业使用技巧完整指南 【免费下载链接】com.example.vcam 虚拟摄像头 virtual camera 项目地址: https://gitcode.com/gh_mirrors/co/com.example.vcam 安卓虚拟摄像头VCAM是一款基于Xposed框架的创新工具&#xff0c;能够将…...