最新要闻
- 环球聚焦:委员建议隔周三休成热搜第一 网友吵翻 专家:很难行得通
- 今日热闻!Model 2明天发?这款15万的特斯拉便宜车:马斯克已经说了17年
- 风语筑(603466):上海风语筑文化科技股份有限公司关于股东权益变动比例超过1%的提示性公告
- 天天观察:希望工程发文感谢《原神》玩家 5天9万多人捐赠240万元
- 世界聚焦:“刺客”又来了!网友称买到1600元一斤话梅:每颗至少20元
- “窄边教科书”上新!戴尔XPS15 9530发布:13代酷睿+RTX 40配8TB SSD
- 环球微动态丨孟菲斯动物园发大熊猫丫丫新动态 网友:尽快回国!
- 曝苹果屏下Face ID技术有缺憾:2026年才会趋于完美
- 信息:可取代eSIM:更完美的iSIM卡来了
- 二月浏览器大战结果出炉:微软Edge用户数不升反降
- 头条:《王者荣耀》干将莫邪画中仙皮肤公布:中国古风莫邪绝美
- 环球滚动:苏富比春拍上海预展即将开展,近150件藏品由谁保驾护航?
- 全球即时看!蔚来2022年财报公布:全年营收492亿元 同比大涨36%
- 天天资讯:建议元宵节放假1天:提升人民幸福指数
- 环球通讯!超19万辆!比亚迪2月新能源销量公布:暴打新势力全家
- 全球微头条丨2023五一档电影增至五部!哪部对你吸引力更大?
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
基于alpine基础镜像构建jdk镜像以及tomcat镜像及业务构建
【资料图】
1.1 制作alpine自定义镜像
Alpine使用的c库使用mini版的musl libc与其他Linux发行版使用的gnu libc不一样。虽说号称兼容,但也只是部分兼容了。Alpine官方给出了Alpine的三大特征 Small、Simple、Secure,但其实我们知道一个jdk就已经不小了,强行安装只会违背Alpine的设计初衷,最后其实与其他操作系统差不多了。所以对于java程序来说使用CentOS等操作系统会更好一下。
强行利用alpinean使用jdk就要安装glibc
#下载alpine镜像[root@rocky8 alpine]$ docker pull alpine:3.17.2#准备相关文件[root@rocky8 alpine]$ pwd/data/dockerfile/system/alpine[root@rocky8 alpine]$ cat > repositories <
1.2 基于自定义alpine镜像制作jdk镜像
#从alpine容器中拷贝一份/etc/profile文件[root@rocky8 jdk]$ docker run -it --rm alpine-base:3.17.2 sh[root@rocky8 jdk]$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESae3595b2d8cf alpine-base:3.17.2 "sh" 3 minutes ago Up 3 minutes ecstatic_nobel[root@rocky8 jdk]$ docker cp ae3595b2d8cf:/etc/profile /data/dockerfile/web/jdk/#修改profile文件,加下面四行相关变量[root@rocky8 jdk]$ vi profile......export JAVA_HOME=/usr/local/jdkexport TOMCAT_HOME=/apps/tomcatexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATHexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar#下载jdk文件到目录下[root@rocky8 jdk]$ tree /data/dockerfile/web/jdk//data/dockerfile/web/jdk/├── Dockerfile├── jdk-8u202-linux-x64.tar.gz└── profile0 directories, 3 files#制作Dockerfile文件[root@rocky8 jdk]$ vi DockerfileFROM alpine-base:3.17.2LABEL maintainer="yanlinux"ENV JDK_VERSION=8u202ENV JAVA_HOME="/usr/local/jdk"ENV JRE_HOME="${JAVA_HOME}/jre"ENV CLASSPATH="$JAVA_HOME/lib/:$JRE_HOME/lib/"ENV PATH="$PATH:$JAVA_HOME/bin"ADD jdk-${JDK_VERSION}-linux-x64.tar.gz /usr/local/src/ADD profile /etc/profileRUN ln -s /usr/local/src/jdk1.8.0_202 /usr/local/jdk && \ . /etc/profile #构建镜像[root@rocky8 jdk]$ docker build -t alpine-jdk:8u202 .[root@rocky8 jdk]$ docker images alpine-jdkREPOSITORY TAG IMAGE ID CREATED SIZEalpine-jdk 8u202 af9682420c5c 29 seconds ago 591MB#测试镜像[root@rocky8 jdk]$ docker run -it --rm --name jdk alpine-jdk:8u202 sh/ # java -versionjava version "1.8.0_202"Java(TM) SE Runtime Environment (build 1.8.0_202-b08)Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
1.3 JDK镜像构建tomcat 8 Base镜像
#准备tomcat包[root@rocky8 tomcat]$ pwd/data/dockerfile/web/tomcat[root@rocky8 tomcat]$ mkdir tomcat-base-8.5.85[root@rocky8 tomcat]$ cd tomcat-base-8.5.85/[root@rocky8 tomcat-base-8.5.85]$ pwd/data/dockfile/web/tomcat/tomcat-base-8.5.85[root@rocky8 tomcat-base-8.5.85]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.85/bin/apache-tomcat-8.5.85.tar.gz#编辑Dockerfie文件[root@rocky8 tomcat-base-8.5.85]$ cat Dockerfile FROM alpine-jdk:8u202ENV TZ "Asia/Shanghai"ENV LANG en_US.UTF-8ENV TERM xtermENV TOMCAT_MAJOR_VERSION 8ENV TOMCAT_MINOR_VERSION 8.5.85ENV CATALINA_HOME /apps/tomcatENV APP_DIR ${CATALINA_HOME}/webappsRUN mkdir /appsADD apache-tomcat-8.5.85.tar.gz /appsRUN ln -s /apps/apache-tomcat-8.5.85 /apps/tomcat#构建镜像[root@rocky8 tomcat-base-8.5.85]$ docker build -t tomcat-base:v8.5.85 .[root@rocky8 tomcat-base-8.5.85]$ docker images tomcat-baseREPOSITORY TAG IMAGE ID CREATED SIZEtomcat-base v8.5.85 f5a9ab5c83ab 26 seconds ago 615MB#验证镜像[root@rocky8 tomcat-base-8.5.85]$ docker run -it --rm -p 8080:8080 tomcat-base:v8.5.85 bashbash-5.0# /apps/tomcat/bin/catalina.sh startUsing CATALINA_BASE: /apps/tomcatUsing CATALINA_HOME: /apps/tomcatUsing CATALINA_TMPDIR: /apps/tomcat/tempUsing JRE_HOME: /usr/local/jdk/jreUsing CLASSPATH: /apps/tomcat/bin/bootstrap.jar:/apps/tomcat/bin/tomcat-juli.jarUsing CATALINA_OPTS: Tomcat started.bash-5.0# ps auxfPID USER TIME COMMAND 1 root 0:00 bash 11 root 0:01 /usr/local/jdk/jre/bin/java -Djava.util.logging.config.file=/apps/tomcat/conf/log 39 root 0:00 ps auxfbash-5.0# netstat -ntlActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN
1.4 构建tomcat web业务镜像
1.4.1 准备tomcat的配置文件
[root@rocky8 tomcat]$ pwd/data/dockfile/web/tomcat[root@rocky8 tomcat]$ mkdir tomcat-app{1,2}[root@rocky8 tomcat]$ tree .├── tomcat-app1├── tomcat-app2└── tomcat-base-8.5.85 ├── apache-tomcat-8.5.85.tar.gz └── Dockerfile3 directories, 2 files#上传和修改server.xml[root@rocky8 tomcat]$ cd tomcat-base-8.5.85/[root@rocky8 tomcat-base-8.5.85]$ tar xf apache-tomcat-8.5.85.tar.gz [root@rocky8 tomcat-base-8.5.85]$ cp apache-tomcat-8.5.85/conf/server.xml /data/dockfile/web/tomcat/tomcat-app1/[root@rocky8 tomcat-base-8.5.85]$ cd /data/dockfile/web/tomcat/tomcat-app1/[root@rocky8 tomcat-app1]$ vi server.xml......151 ......
1.4.2 准备自定义页面
[root@rocky8 tomcat-app1]$ mkdir app[root@rocky8 tomcat-app1]$ echo "Tomcat Page in app1" > app/index.jsp[root@rocky8 tomcat-app1]$ tar zcf app.tar.gz app
1.4.3 准备容器启动执行脚本
[root@rocky8 tomcat-app1]$ cat run_tomcat.sh #!/bin/bashecho "nameserver 180.76.76.76" > /etc/resolv.confsu - www -c "/apps/tomcat/bin/catalina.sh start"su - www -c "tail -f /etc/hosts"[root@rocky8 tomcat-app1]$ chmod +x run_tomcat.sh
1.4.4 准备Dockerfile
[root@rocky8 tomcat-app1]$ cat Dockerfile FROM tomcat-base:v8.5.85LABEL maintainer="yanlinux"ADD server.xml /apps/tomcat/conf/server.xmlADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.shADD app.tar.gz /data/tomcat/webapps/RUN chown -R www.www /apps/ /data/tomcat/EXPOSE 8080 8009CMD ["/apps/tomcat/bin/run_tomcat.sh"]
1.4.5 执行构建脚本制作镜像
[root@rocky8 tomcat-app1]$ docker build -t tomcat-web:app1 .[root@rocky8 tomcat-app1]$ docker images |grep app1tomcat-web app1 0382417d301a 15 seconds ago 761MB
1.4.6 从镜像启动测试容器
[root@rocky8 tomcat-app1]$ docker run -d -p 8080:8080 tomcat-web:app1
1.4.7 访问测试
[root@rocky8 ~]$ curl 127.0.0.1:8080/app/Tomcat Page in app1
-
基于alpine基础镜像构建jdk镜像以及tomcat镜像及业务构建
1 1制作alpine自定义镜像Alpine使用的c库使用mini版的musllibc与其他Linux发行版使用的gnulibc不一样。...
来源: 基于alpine基础镜像构建jdk镜像以及tomcat镜像及业务构建
Linux极简入门系列(六):其它补充
CSS全局关键字
环球聚焦:委员建议隔周三休成热搜第一 网友吵翻 专家:很难行得通
今日热闻!Model 2明天发?这款15万的特斯拉便宜车:马斯克已经说了17年
环球新消息丨LOJ 3276 JOISC 2020 Day2 遗迹 题解 (计数DP)
环球快资讯:MySQL学习笔记-多表查询(上)
当前视讯!量化交易基础 - 011 - 样本外检验
风语筑(603466):上海风语筑文化科技股份有限公司关于股东权益变动比例超过1%的提示性公告
天天观察:希望工程发文感谢《原神》玩家 5天9万多人捐赠240万元
世界聚焦:“刺客”又来了!网友称买到1600元一斤话梅:每颗至少20元
“窄边教科书”上新!戴尔XPS15 9530发布:13代酷睿+RTX 40配8TB SSD
环球微动态丨孟菲斯动物园发大熊猫丫丫新动态 网友:尽快回国!
曝苹果屏下Face ID技术有缺憾:2026年才会趋于完美
C++ STL学习笔记-C++ STL基础
焦点讯息:4-Ribbon负载均衡
信息:可取代eSIM:更完美的iSIM卡来了
二月浏览器大战结果出炉:微软Edge用户数不升反降
头条:《王者荣耀》干将莫邪画中仙皮肤公布:中国古风莫邪绝美
环球微头条丨k8s之list-watch机制、节点调度以及亲和性
全球速讯:记录--虚拟滚动探索与封装
天天百事通!(数据库系统概论|王珊)第七章数据库设计-第四节:逻辑结构设计
焦点热议:Cesium 几何体贴模型 sampleHeight(二十二)
环球滚动:苏富比春拍上海预展即将开展,近150件藏品由谁保驾护航?
全球即时看!蔚来2022年财报公布:全年营收492亿元 同比大涨36%
天天资讯:建议元宵节放假1天:提升人民幸福指数
环球通讯!超19万辆!比亚迪2月新能源销量公布:暴打新势力全家
全球微头条丨2023五一档电影增至五部!哪部对你吸引力更大?
热点!Cesium Transform(二十)
世界速讯:第124篇: 期约Promise
怎么登录新浪微博网页版_如何登陆新浪微博
环球快报:刹车变硬踩不动遭车主集体投诉 铃木召回超7.8万辆汽车
【独家】好利来创始人之子回应开劳斯莱斯摆摊:没想博眼球
天天快播:AI小姐姐比真人还好看? N卡又抓到风口:8GB显存稳定绘图 首选RTX30/40系
春丽今天55岁了!网友:Coser我永远只服成龙大哥
速讯:URLDNS链分析
认识数据标签
每日速递:Python识别图形验证码实战项目
全球播报:记一次CPU占用持续上升问题排查(Nacos动态路由引起)
iOS应用发布ITMS-90704错误解决
荣耀“青海湖技术”揭晓:荣耀Magic5系列全球首发硅碳负极技术
国内专属!新款国产特斯拉Model Y升级悬架:终于不颠了
天天热门:功耗开放470W!影驰名人堂RTX 4080真是生猛
每日热讯!又一游戏成功“入奥”:育碧《舞力全开》入选2023年奥林匹克电子竞技项目
天天头条:女子幼儿园收童子尿煮鸡蛋 吃着香是浙江当地非遗:网友直呼酸爽
今日热闻!中国通才教育:已针对首次公开发售相关指控开展独立调查,将继续停牌
全球百事通!为什么95%的Java程序员人,都是用不好Synchronized?
每日时讯!Python教程:类的派生
你有“ChatGPT综合征”吗:想搞钱,或是失业焦虑?
Python教程:类的继承,什么是继承
加点广告怎么了 爱奇艺新专利可在弹幕中显示广告
环球动态:狂飙8000MHz!朗科Z RGB DDR5-8000 16GB电镀银内存图赏
每日短讯:1:1复刻仿生人手 现实版《西部世界》公司众筹开启
全球头条:5G是高铁 6G就是飞机!工信部:全面推进6G技术研发
焦点热文:公司丢货要求全体员工均摊1万赔款:新员工拒赔反被怀疑偷东西
天天观察:如何在Ubuntu上安装Nextcloud(适用于树莓派上的Ubuntu)
每日播报!Pod 进阶
每日快看:Zabbix“专家坐诊”第183期问答汇总
Spring中Bean的加载方式~
什么是Markdown
当前报道:纬德信息(688171)3月1日主力资金净买入105.72万元
旅俄大熊猫画风突变体重狂飙40公斤:摸爬滚打样样精通
百事通!特斯拉Model 2被曝成本大降37% 比丰田卡罗拉还低
世界短讯!打赢了!科比坠机照片泄露案其遗孀获赔2885万美元
天天热头条丨惊险一幕:女子用火车站自动扶梯运行李 把下面男子砸骨折
【全球速看料】玩游戏需自备爆米花:《最终幻想16》主线过场动画超11小时
当前快看:1000亿数据、30W级qps如何架构?来一个天花板案例
3-Eureka注册中心
天天精选!【验证码逆向专栏】某验三代、四代一键通过模式逆向分析
当前信息:索泰RTX 4090月白深度测试:真孤独求败!A卡没得玩了
网友晒视频广州一特斯拉在停车场连撞多车 司机下车就跑:又踩错了吗
当前看点!设计时速100公里!上海苏州互通地铁今起试跑:苏州坐地铁直达
环球资讯:韦达定理
全球播报:轻松玩转Makefile | 基础用法
医院拍CT有位患者叫熊猫 结果竟是真熊猫:网友祝福“国宝”尽快好起来
丰田拆完一辆特斯拉Model Y后被震撼了 高管惊叹:我们远远落后
全球新动态:火爆全网的AI小姐姐模型重新上线 作者:画什么图后果自负
【全球热闻】大厂年薪30万95后女生转行卖快餐:直言脱离公司KPI太快乐了
当前观察:《暗黑破坏神4》玩家打怪时 不会出现天量伤害数值
世界今热点:通用电梯:目前产能在满足履行轨道交通项目合同需求的同时,不会影响公司履行其他客户订单或新接订单的生产需求
环球报道:电脑病毒的介绍与防护_电脑病毒与防护介绍
天天日报丨浅析大促备战过程中出现的fullGc,我们能做什么?
ChunJun 1.16 Release版本即将发布,bug 捉虫活动邀您参与!
一款超级给力的弱网测试神器—Qnet(附视频)
焦点要闻:Vue,小程序开发技术详解
环球即时看!关于React-Router6 (React 路由)
每日简讯:取代马斯克:新CEO接班人浮出水面
健身网红大容量运动杯:富光1.6L顿顿桶29元发车
每日热门:马力超百匹!春风NK800双缸街车发布:46890元起
热资讯!连续三年发现大油田 渤海又出亿吨级油田:1万辆车能跑30年
粽子米泡几个小时最佳?粽子米怎么调料?
职内是什么意思?职内的职能是什么?
天天快消息!【Spring基础补充】 注解补充(二)
塑料花盆能用几年?塑料花盆和陶瓷花盆哪个养花好?
url是什么意思?url地址如何获取?
COSPLAY图赏:俄妹COS《原神》八重神子 光腿狐狸媚眼如丝
《最终幻想16》PC版稳了:将于PS5版发售后开发
2299元 小米柔风空调1.5匹开启众筹:再不怕吹空调着凉了
夜空中“最亮”的两颗星星即将“浪漫相拥”:肉眼可见
世界热资讯!一夜3次地震 全球进入地震活跃期?专家回应:其实地震一直很多