Dockerfile样例

一、基础jar镜像制作

## Dockerfile
FROM registry.openanolis.cn/openanolis/anolisos:8.9
RUN mkdir /work
ADD jdk17.tar.gz fonts.tar.gz /work/
RUN yum install fontconfig ttmkfdir -y && yum clean all && \chmod -R 755 /work/fonts
ADD fonts.conf /etc/fonts/fonts.conf
ADD Shanghai /etc/localtime
ENV JAVA_VERSION="17" \JAVA_HOME="/work/jdk17" \PATH="${PATH}:/work/jdk17/bin" \LANG=zh_CN.UTF-8
EXPOSE 8080或者:## Dockerfile
FROM registry.openanolis.cn/openanolis/anolisos:8.9
RUN mkdir /work
ADD jdk17.tar.gz /work/
RUN yum install fontconfig ttmkfdir -y && yum clean all
ADD Shanghai /etc/localtime
ENV JAVA_VERSION="17" \JAVA_HOME="/work/jdk17" \PATH="${PATH}:/work/jdk17/bin" \LANG=zh_CN.UTF-8
EXPOSE 8080# 构建基础环境# docker build -t 192.168.2.51/crm/base:v1 .说明:此基础镜像修改了时区为上海,添加了字体、jdk17,使用8080作为应用默认端口

二、用上面的基础镜像制作jar包应用镜像

## # cat Dockerfile 
FROM 192.168.2.51/crm/base:v1
COPY platform-crm-api.jar /work/app.jar
CMD  ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/work/app.jar"]## 构建
# docker build -t 192.168.2.51/crm/crm-api:v8 .## 上传
# docker push 192.168.2.51/crm/crm-api:v8说明:此应用的配置文件是通过调用系统变量获取到如数据及中间件的连接地址及账户的。所以这里不用使用-D传输变量。在后期通过k8s进行传输变量到镜像即可。

应用变量使用截图:

k8s传输变量截图:

docker 运行传入变量一:

# docker run --env-file env-file.txt 192.168.2.51/crm/crm-api:v8

# docker run --env-file env-file.txt 192.168.2.51/crm/crm-api:v8  env  # 查看传入变量

docker 运行传入变量二:

# docker run -d -e database_password=Dev_tmp_0507 -e database_url=192.168.2.154:3306/hs_crm_sys -e database_username=kyc_cle -e redis_host=192.168.2.193 -e redis_port=6379 192.168.2.51/crm/crm-api:v8

三、vue应用镜像制作

## 应用镜像
# cat Dockerfile 
FROM registry.openanolis.cn/openanolis/nginx:1.14.1-8.6
ADD dist.tar /usr/share/nginx/html## configmap# cat configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:name: environmentnamespace: crm
data:environment.js: |window.webConfig={"VITE_DOMAIN_URL_VUE_BOOT":"http://192.168.2.34:31201"}## yaml文件# cat deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:name: crm-webnamespace: crm
spec:replicas: 2selector:matchLabels:app: crm-webtemplate:metadata:labels:app: crm-webspec:containers:- name: crm-webimage: 192.168.2.51/crm/platform-crm-web:v4ports:- containerPort: 80envFrom:volumeMounts:- name: crm-webmountPath: /usr/share/nginx/html/environment.jssubPath: environment.js- name: tzmountPath: /etc/localtimelivenessProbe:tcpSocket:port: 80initialDelaySeconds: 40periodSeconds: 10readinessProbe:tcpSocket:port: 80initialDelaySeconds: 40periodSeconds: 10volumes:- name: crm-webconfigMap:name: environmentitems:- key: "environment.js"path: "environment.js"- name: tzhostPath:path: /etc/localtimednsPolicy: "None"dnsConfig:nameservers:- 10.96.0.10searches:- svc.cluster.local- cluster.local
---
apiVersion: v1
kind: Service
metadata:name: crm-webnamespace: crm
spec:type: NodePortselector:app: crm-webports:- protocol: TCPport: 80targetPort: 80nodePort: 31641

configmap在deploymen中挂载截图

四、未测试的方法

# 基础镜像
FROM ubuntu:latest# 设置工作目录
WORKDIR /app# 创建目录
RUN mkdir -p /dir1 /dir2# 复制多个文件到多个目录
RUN cp /app/file1.txt /dir1/ && \cp /app/file2.txt /dir2/ && \cp /app/file3.txt /dir1/ && \cp /app/file4.txt /dir2/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git 更改分支名字

1. 重命名当前分支 如果你想重命名当前所在的分支: git branch -m 新分支名 例如,把当前分支改名为 new-branch-name: git branch -m new-branch-name 2. 重命名其他分支 如果想重命名非当前所在的分支,可以指定旧分支名和新分…

玛哈特矫平机:引领制造业平整技术的新篇章

玛哈特矫平机:引领制造业平整技术的新篇章 在制造业的广阔舞台上,材料的平整度是确保产品质量与精度的关键要素。玛哈特矫平机,凭借其出色的性能和前沿技术,正逐步成为推动制造业发展的重要驱动力。 技术的飞跃与创新的引领 玛…

《Sui区块链:重塑去中心化应用的新星与未来潜力》

目录 引言 一、Sui 1、 技术架构 2、 编程语言 3、Move起源 4、Move的几个关键点: 5、Move 智能合约编程语言 6、智能合约编程语言可以做什么 7、和其他编程语言有什么不同 8、 安全性 9、开发者体验 10、生态系统 11、 未来发展 总结 引言 在区块链技…

llama大模型中,为什么推理部分使用kv cache,而训练部分不使用kv cache

在 LLaMA 等大语言模型中,推理和训练过程在使用 KV (Key-Value) Cache 上存在差异的主要原因可以归结为计算效率和内存使用的不同需求。 1. KV Cache 在推理中的作用 在推理阶段,模型通常是逐步生成输出(如一个词或一个标记 token 一次&…

vue后台管理系统从0到1(5)

文章目录 vue后台管理系统从0到1(5)完善侧边栏修改bug渲染header导航栏 vue后台管理系统从0到1(5) 接上一期,我们需要完善我们的侧边狼 完善侧边栏 我们在 element 组件中可以看见,这一个侧边栏是符合我们…

Linux驱动开发——platform平台总线

bus_type 一、主要作用 设备管理 bus_type负责管理连接在特定总线上的设备。它维护一个设备链表,其中包含了所有注册到该总线上的设备。通过这个链表,内核可以方便地遍历和管理连接在该总线上的设备。例如,对于 PCI 总线,bus_typ…

无人机之视觉技术篇

一、视觉传感器的类型 摄像头: 最常见的视觉传感器,能够捕捉可见光图像和视频。 通过单目、双目或多目摄像头的组合,无人机能够实现立体视觉,从而估算距离、深度,并进行物体识别和追踪。 红外传感器: …

银行卡二三四要素验证接口-在线银行卡二三四要素验证-银行卡二三四要素验证API

接口简介:全面覆盖,支持所有带银联标识的银行卡; 高准确性-验证结果实时返回,准确率达99%; 银行卡二要素若是手机号卡号,不支持工商和农商行 接口地址:https://www.wapi.cn/api_detail/102/235.html 在线核验&#xff…

【汇编语言】寄存器(内存访问)(七)—— CPU提供的栈机制

文章目录 前言1. CPU提供的栈机制2. push指令3. 问题4. 问题的分析与解答5. pop指令结语 前言 📌 汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深…

基于Java的茶叶商城设计与实现(源码+定制+开发)茶叶电商系统开发、茶叶电商平台开发、茶叶在线销售平台设计与开发

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

英伟达开源最新大模型Nemotron 70B后,只有OpenAI o1一个对手了

来源 | 机器之心 今天,英伟达又开源了一个性能超级强大的模型 —— Llama-3.1-Nemotron-70B-Instruct,它击败了 OpenAI 的 GPT-4o 和 Anthropic 的 Claude-3.5 Sonnet 等多个开闭源模型。 从命名来看,显然 Llama-3.1-Nemotron-70B-Instruct …

2024.09.27校招 实习 内推 面经

🛰️ :neituijunsir 交* 流*裙 ,内推/实习/校招汇总表格 1、校招丨小米2024届补录招聘正式回归(内推) 校招丨小米2024届补录招聘正式回归(内推) 2、校招丨移动研究院2025届校园招聘全面启…

DE项目整里

系列文章目录 文章目录 系列文章目录一、Airflow-AWS ETL项目二、snowflake ETL项目三、AWS DE的快速入门课程 一、Airflow-AWS ETL项目 项目作者:tuplespectra(主要是AWS,EC2,GLUE 的项目)项目地址: htt…

MySQL-15.DQL-排序查询

一.DQL-排序查询 -- 排序查询 -- 1.根据入职时间,对员工进行升序排序 select * from tb_emp order by entrydate asc ;-- 2.根据入职时间,对员工进行降序排序 select * from tb_emp order by entrydate desc ;-- 3.根据 入职时间 对公司员工进行 升序排序…

selenium自动化关闭

该段代码属于固定代码,直接誊抄即可使用!!!!!!! !!!!!建议整理到小本本上!!! #设置关闭selenium的自动化特性和拓展,防止被网站检测…

【MogDB】MogDB5.2.0重磅发布第三篇-支持astore下的rowid

一、背景 从ORACLE迁移到国产数据库,经常会遇到rowid的兼容性问题,可能是不支持rowid这个关键字,也可能是rowid数据类型或rowid的行为和oracle不一样。 rowid特征: rowid是表上的一个伪列rowid字段在数据字典中不存在select * …

scala 高阶函数(2)上

学习目录 一.reduce reduce的含义 idea实例 二.reduceLeft-reduceRight reduceLeft-reduceRight的含义 idea实例 练习:求最值

word建立目录以及修改页码

1、为word建立新的目录 (1)选中word中的标题设置为第几级标题,将所有的标题均设置完成。最后可以鼠标右击标题,对不同的标题字体大小等进行设置。右击-->修改-->格式-->段落 (2)在word中插入新的…

【多模态大模型】 端侧多模态模型 Qwen2-VL-2B-Instruct

【多模态大模型】 端侧多模态模型 Qwen2-VL-2B-Instruct Qwen2-VL-2B-Instruct 模型介绍模型测评运行环境安装运行模型Image Resolution for performance boosttwo methods for fine-grained control over the image size input to the model: 下载开源协议参考 Qwen2-VL-2B-In…

sql之update语句

SQL(Structured Query Language)是一种用于管理和操作关系数据库的强大语言。UPDATE语句是SQL中用于修改数据库中已存在记录的一种方法。以下是一些经典的UPDATE语句案例: 1.更新特定行的列值: UPDATE employees SET salary sa…