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

Docker最佳实践进阶(一):Dockerfile介绍使用

大家好,上一个系列我们使用docker安装了一系列的基础服务,但在实际开发过程中这样一个个的安装以及繁杂命令不仅仅浪费时间,更是容易遗忘,下面我们进行Docker的进阶教程,帮助我们更快速的部署和演示项目。

一、什么是Dockerfile?

Dockerfile 是一个文本文件,其中包含了一系列指令,用于自动化创建 Docker 镜像的过程。通过Dockerfile,你可以定义应用程序的环境,包括所需的软件、库和依赖项。简单的说就是把我们的安装一个基础服务的所有操作命令都编排在一个文件里,包含了拉取镜像,环境变量设置,容器启动等等一系列的操作。

二、如何使用Dockerfile?

2.1 Dockerfile文件解读

下面是一个简单的springboot项目的Dockerfile文件

# 使用官方Java运行环境作为基础镜像 
# 命令解释:如果本地没有openjdk:8-jre镜像  则会自动从远程镜像仓库拉取镜像
FROM openjdk:8-jre# 设置docker容器内jar工作目录
# docker容器内部的jar工作目录 也就是jar将部署在这个目录下 并非宿主机中的文件目录
WORKDIR /kim# 暴露docker容器内9200端口 
EXPOSE 9200# 设置容器时区
ENV TZ=Asia/Shanghai# 将你的jar包添加到容器中 将打包好的jar添加到容器中去  
ADD kingoffice-auth.jar /kim/kingoffice-auth.jar# 声明日志卷,容器内应用生成的日志将被存储在这个位置
VOLUME /kim/logs# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "/kim/kingoffice-auth.jar"]
2.2 构建镜像

下面执行 docker build 命令,运行脚本文件,构建镜像,注意请在Dockerfile同级目录下执行命令。

# 注意后面有一个"点"
docker build -t kingoffice-auth:1.0.0 .			
  • docker build:这是 Docker 的构建命令,用于根据 Dockerfile 中的指令创建 Docker 镜像
  • -t kingoffice-auth:1.0.0 :指定构建的镜像的名称为kingoffice-auth,同时设置版本标签为 1.0.0
  • . :这个参数指定了 Dockerfile 所在的路径,. 表示当前目录。Docker 会在当前目录下寻找名为 Dockerfi

相关文章:

Docker最佳实践进阶(一):Dockerfile介绍使用

大家好,上一个系列我们使用docker安装了一系列的基础服务,但在实际开发过程中这样一个个的安装以及繁杂命令不仅仅浪费时间,更是容易遗忘,下面我们进行Docker的进阶教程,帮助我们更快速的部署和演示项目。 一、什么是Dockerfile? Dockerfile 是一个文本文件,其中包含了…...

Anything in Any Scene:无缝融入任何场景,实现逼真视频对象插入技术

人工智能咨询培训老师叶梓 转载标明出处 现实世界的视频捕获虽然因其真实性而宝贵,但常常受限于长尾分布的问题,即常见场景过度呈现,而关键的罕见场景却鲜有记录。这导致了所谓的"分布外问题",在模拟复杂环境光线、几何…...

安卓开发中的AppCompat框架|安卓系统|安卓应用|兼容性|UI组件|核心组件|ActionBar|Fragment|最佳实践|框架|移动开发|移动应用

目录 1. 什么是AppCompat框架 1.1 AppCompat的起源 1.2 AppCompat的重要性 2. AppCompat框架的核心组件 2.1 AppCompatActivity 2.2 AppCompat主题 2.3 AppCompat Widgets 3. 在项目中使用AppCompat框架 3.1 添加依赖项 3.2 应用AppCompat主题 4. AppCompat的高级功…...

React使用useRef ts 报错

最近在写自己的React项目&#xff0c;我在使用useRef钩子函数的时候发现 TS2322: Type MutableRefObject<HTMLDivElement | undefined> is not assignable to type LegacyRef<HTMLDivElement> | undefined Type MutableRefObject<HTMLDivElement | undefined&g…...

python-信息交互-pyautogui

python-信息交互-pyautogui 一: pyautogui1> waht?2> 功能分类3> 概念及作用二: 通用功能1> function all2> function 注释三: 鼠标控制1> mouse functions2> mouse functions demo3> mouse drag demo四: keyboard控制1> keyboard functions2> …...

flink1.18 编译遇到的问题

1. flink-runtime-web编译失败 源码编译时一直卡在 [INFO] Running ‘npm ci --cache-max0 --no-save’ in 处理方法&#xff1a; 修改flink-runtime-web/pom.xml文件 将<arguments>ci --cache-max0 --no-save ${npm.proxy}</arguments> 替换为&#xff1a;<a…...

2024年8月份编译Openwrt系统基础

概述&#xff1a; 本文档记录openwrt系统的编译过程&#xff0c;以备后续再用&#xff0c;技术支持与指导&#xff01; 1.编译环境 环境需要Linux&#xff0c;我使用的环境是WSL2、Ubuntu 20.04 2.安装编译必须的依赖&#xff08;wsl、linux&#xff09; WSL2&#xff1a;Bu…...

Vue3+vite+ts 项目使用mockjs

1、安装mockjs npm i mockjs 2、安装vite-plugin-mock npm i vite-plugin-mock -D 3、安装axios npm i axios 4.在src目录下创建mock文件夹,在文件夹内创建login.ts等文件&#xff0c;并在文件夹内放置以下内容&#xff08;注&#xff1a;URL要和真实请求地址保持一致&am…...

动态规划(二)——例题

目录 Help Jimmy 题目 解题思路 神奇的口袋 题目 枚举的解法 递归的解法 动态规划的解法 滑雪 题目 解题思路 解法一 解法二 Help Jimmy 题目 "Help Jimmy" 是在下图所示的场景上完成的游戏&#xff1a; 场景中包括多个长度和高度各不相同的平台。地面是…...

Node.js中判断是文件还是文件夹的多种方法

在Node.js中&#xff0c;我们经常需要判断一个路径是文件还是文件夹。Node.js提供了多种方法来实现这一功能&#xff0c;本文将详细介绍这些方法&#xff0c;并给出相应的示例代码。 一、使用fs.Stats对象 在Node.js中&#xff0c;fs模块提供了fs.stat()或fs.statSync()方法&…...

idea 如何打war包

idea 如何打war包 1.在IntelliJ IDEA中打包WAR文件&#xff0c;你可以按照以下步骤操作:1.设置项目结构:首先&#xff0c;打开IDEA&#xff0c;选择File>Project Structure(或使用快捷键CtrlAltShiftS)。在打开的窗口中&#xff0c;选择 Artifacts 选项 2.添加Web Applicat…...

米联客-FPGA程序设计Verilog语法入门篇连载-15 Verilog语法_跨时钟域设计

软件版本&#xff1a;无 操作系统&#xff1a;WIN10 64bit 硬件平台&#xff1a;适用所有系列FPGA 板卡获取平台&#xff1a;https://milianke.tmall.com/ 登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑&#xff01; 1概述 本小节主要讲解Verilog语法的…...

gradio 对话界面实现支持图片、视频正常显示

参考: https://www.gradio.app/docs/gradio/chatbot 问题: gradio网页输出视频nan;图片webp显示不出来 解决方法:需要通过gradio的Video、Image包装 代码: 这里下面启动个后端vlm模型(参考:https://blog.csdn.net/weixin_42357472/article/details/141126225),前端通…...

催收业务怎么提高接通率

提高催收呼叫业务的接通率是一个综合性的任务&#xff0c;需要从多个方面进行优化。以下是一些具体的策略和建议&#xff1a; 一、优化呼叫时间与频次 1. 选择合适的呼叫时间&#xff1a;通过分析目标客户的活跃时段&#xff0c;选择他们最可能接听电话的时间进行呼叫…...

动态生成sitemaps和robots.txt文件:提升SEO与网站可爬性

本文由 ChatMoney团队出品 在现代Web开发中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是网站成功的关键因素之一。搜索引擎通过网络爬虫来索引网页&#xff0c;而sitemaps和robots.txt文件则是帮助这些爬虫更好地理解和索引网站内容的重要工具。 sitemaps简介 Sit…...

LeetCode 第二十五天 2024.8.12

1. &#xff1a;递增子序列 题目链接: 491. 非递减子序列 - 力扣&#xff08;LeetCode&#xff09; 应用条件&#xff1a;回溯 难点&#xff1a; 这道题的难点在于如何去重&#xff0c;肯定不能像我们在组合中去重那样对数组排序。而且我们是要对每一层进行去重&#xff0c;…...

Elasticsearch 全文查询详解

全文查询&#xff08;Full-Text Query&#xff09;是 Elasticsearch 中的核心功能之一&#xff0c;用于对非结构化文本数据进行高效检索。与结构化查询不同&#xff0c;全文查询不仅仅是简单的精确匹配&#xff0c;还包括对文本进行分析和处理&#xff0c;从而实现更复杂的搜索…...

20240810在荣品RK3588S-AHD开发板的预置Android13下挂载exFAT的256GB的TF卡

df -h mount fdisk无效 20240810在荣品RK3588S-AHD开发板的预置Android13下挂载exFAT的256GB的TF卡 2024/8/10 21:19 缘起&#xff1a;当时比较便宜96.9&#xffe5;/想看看256GB的TF卡的高速卡的效果&#xff0c;就在京东入手了3张三星的高速TF卡。最近在弄RK3588S&#xff0c…...

java基础进阶——log日志、类加载器、XML、单元测试、注解、枚举类

前言 这篇内容主要掌握的就是logback使用、理解类加载器、XML文件的编写&#xff0c;XML文档约束schema&#xff0c;用Dom4j解析XML文档&#xff0c;Xpath检索XML文档&#xff0c;完整使用Junit单元测试框架常用部分&#xff0c;注解的定义和使用&#xff0c;枚举类的定义和开发…...

《向量数据库指南》——控制Chatbot对话内容:Dopple AI的创新实践与用户体验优化

控制Chatbot对话内容:Dopple AI的创新实践与用户体验优化 在Chatbot技术日益成熟的今天,如何有效地控制对话内容,以满足用户多样化的需求,成为了开发者们关注的焦点。Dopple AI,作为一款先进的聊天机器人平台,通过其独特的交互设计和后端技术支持,为用户提供了前所未有…...

无损视频剪辑神器LosslessCut:3分钟学会零编码损耗的专业剪辑技巧

无损视频剪辑神器LosslessCut&#xff1a;3分钟学会零编码损耗的专业剪辑技巧 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 你是否还在为视频剪辑时画质损失而烦恼&…...

GNN实战:Cora、Citeseer、PubMed三大文献数据集保姆级使用指南(附代码)

GNN实战&#xff1a;Cora、Citeseer、PubMed三大文献数据集深度解析与工程实践 引言&#xff1a;为什么这三个数据集成为GNN研究的"黄金标准"&#xff1f; 在探索图神经网络&#xff08;GNN&#xff09;的浩瀚宇宙中&#xff0c;Cora、Citeseer和PubMed如同三颗璀璨的…...

密码安全必修课:为什么BCrypt比MD5更适合存储用户密码?

密码安全必修课&#xff1a;为什么BCrypt比MD5更适合存储用户密码&#xff1f; 在数字身份成为第二张身份证的时代&#xff0c;密码安全早已不是技术圈的内部话题。去年某社交平台600万用户数据泄露事件中&#xff0c;令人震惊的不是数据被盗本身&#xff0c;而是其中87%的密码…...

从 POST 到落库回写:彻底讲透 SAP Gateway 中 Create Operation 的实现

在经典的 SAP Gateway 开发里,Create Operation 看上去只是一次新增动作,真正落到运行时,却牵涉到一条非常完整的链路:客户端发起 HTTP POST 请求,请求体里的 OData 数据被 Gateway 运行时反序列化成 ABAP 结构,开发者在对应的 <Entity Set>_CREATE_ENTITY 方法里接…...

解决Beyond Compare 5授权问题的完整方案:BCompare_Keygen工具使用指南

解决Beyond Compare 5授权问题的完整方案&#xff1a;BCompare_Keygen工具使用指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 当你在使用Beyond Compare 5进行文件比较或同步操作时&#x…...

3步解锁苹果电脑新玩法:用PlayCover畅玩iOS游戏和应用

3步解锁苹果电脑新玩法&#xff1a;用PlayCover畅玩iOS游戏和应用 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 还在羡慕朋友在iPad上玩热门手游&#xff0c;而你的Mac只能干看着&#xff1f;想知道…...

不止于仿真:用COMSOL LiveLink玩转超声相控阵动态聚焦与参数化扫描

超越静态仿真&#xff1a;COMSOL LiveLink在超声相控阵动态聚焦中的高阶应用 当超声相控阵技术遇上COMSOL的多物理场仿真能力&#xff0c;工程师们便获得了一把打开声波精准操控之门的钥匙。不同于传统静态仿真&#xff0c;动态聚焦与参数化扫描技术让声场控制如同探照灯般灵活…...

Ncorr 2D:开源数字图像相关技术的架构解析与工程实现

Ncorr 2D&#xff1a;开源数字图像相关技术的架构解析与工程实现 【免费下载链接】ncorr_2D_matlab 2D Digital Image Correlation Matlab Software 项目地址: https://gitcode.com/gh_mirrors/nc/ncorr_2D_matlab 在材料力学、生物医学和结构工程领域&#xff0c;精确测…...

AI 辅助开发实战:基于低代码与智能生成的五金店管理系统毕设架构设计

最近在帮学弟学妹们看毕业设计&#xff0c;发现“五金店管理系统”是个高频选题。但很多人做着做着就陷入了“增删改查”的泥潭&#xff0c;前端界面简陋&#xff0c;业务逻辑也写得七零八落&#xff0c;最后答辩时演示效果平平&#xff0c;技术深度更是无从谈起。这让我开始思…...

ComfyUI图片生成视频大模型技术选型与实战:从原理到生产环境部署

最近在搞一个AI视频生成的项目&#xff0c;用到了ComfyUI这个可视化工作流工具。说实话&#xff0c;刚开始选模型的时候真是眼花缭乱&#xff0c;Stable Diffusion Video、ModelScope、RunwayML……每个都说自己好&#xff0c;但实际用起来坑真不少。今天就把我趟过的路和总结的…...