【Docker】Dockerfile构建镜像
一、编写Dockerfile文件
编写镜像需要的运行环境(Linux、java等),
Dockerfile文件内容如下:
# 使用官方的 Ubuntu 16.04 镜像作为基础镜像
FROM ubuntu:16.04# 更新包列表
RUN apt-get update# 安装所需的软件包
RUN apt-get install -y \sudo \vim \curl \&& rm -rf /var/lib/apt/lists/*# 创建一个新的普通用户 "linsy" 并设置密码为 "123456"
RUN useradd -m -s /bin/bash linsy && \echo "linsy:123456" | chpasswd# 将新用户添加到 sudo 组,分配管理员权限
RUN usermod -aG sudo linsy# 切换到新用户
# USER linsy# 拷贝文件到容器中(将您的文件拷贝到 /app 目录下)
# 复制 JDK 压缩文件从 Windows 主机到容器中
COPY jdk.tar.gz /opt/java/jdk.tar.gz# 解压JDK文件
RUN tar -xzvf /opt/java/jdk.tar.gz -C /opt/java# 设置 JAVA_HOME 环境变量
ENV JAVA_HOME /opt/java/jdk-17.0.5
ENV PATH $JAVA_HOME/bin:$PATH# ********************* 部署应用程序 ***********************
COPY jxv_wcs_client /opt/work/jxv_wcs_client#ubantu 16 授权 给 /opt/java文件夹
# RUN chmod -R 777 /opt/java# 开放端口(8899、8080、8082)
EXPOSE 8899 8080 8082# 关闭防火墙(示例中停用了 ufw 防火墙,您可以根据您的需求停用其他防火墙)
# RUN apt-get install -y ufw
# RUN ufw disable# 设置容器启动命令(示例中使用的是 sleep 命令,您可以替换为您的应用程序启动命令)
CMD ["sleep", "infinity"]
注意:
1、COPY文件目录问题(如果是windows,应当直接进入相关的文件目录下,执行构建Dockerfile命令)
二、构建docker镜像
编写完成cmd后进入当前系统文件目录
docker buildx build -t wcs_client:1.0 .
三、创建容器使用镜像
构建完成后,使用镜像
docker run -d --name wcs_client wcs_client:1.0
四、与容器交互
docker exec -u root -it wcs_client /bin/bash
补充:
清理安装缓存
docker builder prune -a
相关文章:
【Docker】Dockerfile构建镜像
一、编写Dockerfile文件 编写镜像需要的运行环境(Linux、java等), Dockerfile文件内容如下: # 使用官方的 Ubuntu 16.04 镜像作为基础镜像 FROM ubuntu:16.04# 更新包列表 RUN apt-get update# 安装所需的软件包 RUN apt-get ins…...
fota升级,可卸载apk也进行更新
首先如题目要求 可卸载apk是通过刷机或恢复出厂设置之后执行脚本安装的 然后fota升级后,在判断是否“是第一次刷机和恢复出厂设置”时候会返回false,就导致脚本没有执行。导致apk升级不成功 所以我们要完成这个就是,确定fota什么时候升级完…...
ASP.NET dotnet 3.5 实验室信息管理系统LIMS源码
技术架构:ASP.NET dotnet 3.5 LIMS作为一个信息管理系统,它有着和ERP、MIS之类管理软件的共性,如它是通过现代管理模式与计算机管理信息系统支持企业或单位合理、系统地管理经营与生产,最大限度地发挥现有设备、资源、人、技术的…...
2023!6招玩转 Appium 自动化测试
Appium是个什么鬼 Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。可用于IOS和Android以及firefox的操作系统。原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页…...
WireShark抓包分析TCP三次握手过程,TCP报文解析
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 使用WireShark工具抓取TCP协议三次握手的数据包&am…...
【C语言】指针和数组笔试题解析
大家好,我是苏貝,本篇博客带大家了解指针和数组笔试题解析,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1.前言2.一维数组2.字符数组2.12.22.32.42.52.6 1.前言 本篇文章是讲述在不同数…...
Vue的模板语法(下)
一.事件处理 事件修饰符 Vue通过由点(.)表示的指令后缀来调用修饰符, .stop, .prevent,.capture,.self,.once .stop:阻止事件冒泡。当一个元素触发了事件,并且该元素包含嵌套的父元素时&#…...
Zookeeper客户端——I0Itec-zkClient
dubbo使用了zkClient而不是使用zookeeper本身的客户端与zookeeper进行交互,为什么呢? 先看看zookeeper本身自带的客户端的问题。 1)ZooKeeper的Watcher是一次性的,用过了需要再注册; 2) session的超时后…...
火山引擎 ByteHouse:ClickHouse 如何保证海量数据一致性
背景 ClickHouse是一个开源的OLAP引擎,不仅被全球开发者广泛使用,在字节各个应用场景中也可以看到它的身影。基于高性能、分布式特点,ClickHouse可以满足大规模数据的分析和查询需求,因此字节研发团队以开源ClickHouse为基础&…...
hashmap使用
hashmap作为dao对象存储数据库数据 list是把每一个数据库的字段都映射了,而hashmap则是唯一id:数据库字段作为key hashmap遍历方式 public class Main {//使用迭代器(Iterator)EntrySetpublic static void main(String[] args) {// 创建并赋…...
Centos7配置国内yum源
目录 备份原系统中的repo文件配置国内开源镜像重新生成yum缓存 备份原系统中的repo文件 cd /etc/yum.repos.d/mkdir repo_bakmv *.repo repo_bak/配置国内开源镜像 到网易和阿里开源镜像站点下载系统对应版本的repo文件 curl -O http://mirrors.aliyun.com/repo/Centos-7.re…...
C#中async/await的线程ID变化情况
一、简单的起步 Console.WriteLine($"主线程开始ID:{Thread.CurrentThread.ManagedThreadId}");//aawait Task.Delay(100);//cConsole.WriteLine($"主线程结束ID:{Environment.CurrentManagedThreadId}");//b 结果: …...
网络安全—黑客技术—自学笔记
目录梗概 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来…...
功夫再高也怕菜刀。多年经验,会独立开发的机器视觉工程师,技术太强,但是找工作能力差劲
功夫再高也怕菜刀,专业的事情交给专业的人去做。 今年7月份中旬的时候,遇到一位老朋友,向我咨询某公司的信息,其实我根本不了解这家公司的情况与实力,向他说了,抱歉,我查下,等我晚上…...
numpy的多项式函数: `poly1d`
Python numpy.poly1d() numpy.poly1d()函数有助于定义一个多项式函数。它使得在多项式上应用 "自然操作 "变得容易。 语法: numpy.poly1d (arr, root, var) 参数 : arr : [array_like] 多项式系数按照幂的递减顺序给出。如果第二个参数(根)被…...
Python灰帽编程——错误异常处理和面向对象
文章目录 1. 错误和异常1.1 基本概念1.1.1 Python 异常 1.2 检测(捕获)异常1.2.1 try except 语句1.2.2 捕获多种异常1.2.3 捕获所有异常 1.3 处理异常1.4 特殊场景1.4.1 with 语句 2. 内网主机存活检测程序2.1 scapy 模块2.1.1 主要功能2.1.2 scapy 安装…...
【20230919】win11无法删除Chrome注册表项
win11无法删除Chrome注册表项 删除以下注册表项发生错误: 计算机\HKEY_LOCAL_MACHINE\SOFTWAR\Google计算机\HKEY_CURRENT_USER\Software\Google 尝试了很多删除注册表方法(例如:编辑remove.reg文件),都不行。 无法…...
TCP/IP客户端和服务器端建立通信过程
客户端和服务器端建立通信过程 使用Qt提供的类进行基于TCP的套接字通信需要用到两个类: QTcpServer:服务器类,用于监听客户端连接以及和客户端建立连接。 QTcpSocket:通信的套接字类,客户端、服务器端都需要使用。服务…...
Python ---使用Fake库向clickhouse造数据小案例
每次insert太麻烦了 先在clickhosue中建表 test_user表 CREATE TABLE dwh.test_user (name String,age Int32,address String,phone String,email String ) ENGINE MergeTree() ORDER BY name; 此时表中暂无数据 用Python脚本来造一些数据 from faker import Faker from c…...
09MyBatisX插件
MyBatisX插件 在真正开发过程中对于一些复杂的SQL和多表联查就需要我们自己去编写代码和SQL语句,这个时候可以使用MyBatisX插件帮助我们简化开发 安装MyBatisX插件: File -> Settings -> Plugins -> 搜索MyBatisx插件搜索安装然后重启IDEA 跳转文件功能 由于一个项…...
LaTeX引用中文文献总出乱码?可能是你BibTeX引擎和编码没选对(XeLaTeX+BibTeX实战)
LaTeX中文文献引用乱码全解析:从编码原理到XeLaTeX实战方案 当你熬夜赶论文时,参考文献列表突然变成一堆乱码方块,引用标记全部显示为"??"——这种崩溃瞬间,每个用LaTeX写过中文论文的人都经历过。传统解决方案往往停…...
STM32CubeMX呼吸灯实战:用TIM3的PWM模式驱动LED(附完整代码与重映射避坑指南)
STM32CubeMX呼吸灯实战:用TIM3的PWM模式驱动LED(附完整代码与重映射避坑指南) 呼吸灯效果是嵌入式开发中经典的PWM应用场景,不仅能直观展示定时器功能,还能为产品增添交互美感。对于STM32开发者而言,利用Cu…...
【ElevenLabs商业增长实战手册】:20年AI语音赛道老兵亲授从0到月营收$2M的7个关键跃迁节点
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs商业增长的核心范式迁移 传统AI语音服务商长期依赖“API调用量时长计费”模型,而ElevenLabs正系统性重构价值交付逻辑——从卖计算资源转向卖情感可信度与品牌声纹资产。这一迁移…...
C++ 入门核心语法|从 Hello World 到基础特性一次性吃透
文章目录前言一、C 第一个程序:Hello World二、命名空间 namespace1. 为什么需要命名空间?2. 命名空间定义规则3. 三种使用方式三、C 输入 & 输出1. 核心对象2. 最大优势四、缺省参数(默认参数)1. 定义2. 使用方式3. 声明与定…...
AI相册搜索效率提升300%?Gemini驱动的Google Photos智能检索全解析,含实测对比数据与隐私边界警告
更多请点击: https://intelliparadigm.com 第一章:AI相册搜索效率提升300%?Gemini驱动的Google Photos智能检索全解析,含实测对比数据与隐私边界警告 Google Photos 近期将 Gemini Pro 1.5 深度集成至其搜索后端,支持…...
Burp插件进阶:Logger++日志管理与CSRF Token Tracker自动化测试实战
1. Burp插件环境配置与基础准备 在开始使用Logger和CSRF Token Tracker之前,我们需要先搭建好Burp Suite的插件运行环境。Burp支持Java、Python和Ruby三种语言编写的插件,但后两者需要额外配置。 对于Python插件,建议下载Standalone Jar版本。…...
轻量级GraphRAG框架nano-graphrag:模块化设计与实践指南
1. 项目概述:一个为开发者而生的轻量级GraphRAG实现 如果你正在寻找一个能够快速上手、代码清晰、易于二次开发的GraphRAG(图增强检索生成)框架,那么 nano-graphrag 很可能就是你需要的那个工具。GraphRAG这个概念,简…...
Java开发者收藏 | 你的经验不是负担,而是转型AI应用开发的加速器!
本文为Java开发者提供了清晰的AI应用开发转型路径。强调Java后端经验在AI领域是宝贵财富而非负担,并介绍了拥抱AI的优势。文章提出了分阶段学习路线,涵盖基础概念、框架选型(Spring AI、LangChain4j、Spring AI Alibaba)、可视化工…...
给 Agent 用的搜索:Cloudflare AI Search 是什么,怎么工作的
原文:AI Search: the search primitive for your agents 发布时间:2026 年 4 月 16 日 作者:Gabriel Massadas、Miguel Cardoso、Anni Wang 每个 Agent 都需要搜索,但自己搭很麻烦 编码 Agent 要检索数百万个文件,客服…...
uni-number-box深度解析:从基础属性到高级双向绑定实战
1. uni-number-box基础入门:从零开始玩转数字输入框 第一次接触uni-number-box时,我也觉得这不就是个简单的数字加减控件吗?直到在电商项目中真正用起来,才发现这个看似简单的组件藏着不少门道。uni-number-box是uni-app框架提供的…...
