基于Java8构建Docke镜像

基于Java8构建Docke镜像

  1. 搜索java8安装包 docker search java8 --no-trunc --no-trunc展开描述信息
    在这里插入图片描述

  2. 选择拉取 docker pull docker.io/mykro/java8-jre,为了减少磁盘占用,选择jre版本基础镜像

  3. 在宿主机创建文件夹iot,并把所需jar包拷贝到当前目录,并创建Dockerfile文件,目录结构如下
    在这里插入图片描述

  4. 编写Dockerfile文件

# 基础镜像
FROM docker.io/mykro/java8-jre
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 创建并设置工作目录
WORKDIR /app
# 拷贝文件夹
COPY ./lib /app/lib
# 拷贝jar包 
COPY device-iot-mqtt.jar /app/device-iot-mqtt.jar#开放端口
EXPOSE 18888
# 入口
ENTRYPOINT ["java", "-jar", "/app/device-iot-mqtt.jar"]
  1. 进入到当前文件夹目录,然后使用docker build命令构建镜像
docker build -t device-iot-mqtt.jar .

-t:是给镜像起名,格式依然是repository:tag的格式,不指定tag时,默认为latest;
. :是指定Dockerfile所在目录,如果就在当前目录,则指定为“.”;

  1. 此时再用docker images命令可查看构建出来的镜像
    在这里插入图片描述

  2. 使用docker run创建容器并运行

# docker run -d --name 容器名 -p 18888:18888 镜像名
docker run -d --name device-iot-mqtt -p 18888:18888device-iot-mqtt
  1. docker logs -f [容器名称] 在控制台打印日志

在这里插入图片描述

Docker常用命令

#info|version
docker info       #显示docker的系统信息,包括镜像和容器的数量
docker version    #显示docker的版本信息。
#帮助命令
docker 命令 --help #帮助命令
#镜像命令
docker images #查看所有本地主机上的镜像 可以使用docker image ls代替
docker search #搜索镜像
docker pull #下载镜像 docker image pull
docker rmi #删除镜像 docker image rm
#容器命令
docker run 镜像id #新建容器并启动
docker ps 列出所有运行的容器 docker container list
docker rm 容器id #删除指定容器#删除所有容器docker rm -f $(docker ps -aq)  	 #删除所有的容器docker ps -a -q|xargs docker rm  #删除所有的容器
#启动和停止容器
docker start 容器id	#启动容器
docker restart 容器id	#重启容器
docker stop 容器id	#停止当前正在运行的容器
docker kill 容器id	#强制停止当前容器
#退出容器
exit 		#容器直接退出
ctrl +P +Q  #容器不停止退出 	---注意:这个很有用的操作
#其他常用命令
docker run -d 镜像名  #后台启动命令
docker logs 		#查看日志
docker top 容器id 	#查看容器中进程信息ps
docker inspect 容器id  #查看镜像的元数据
docker exec 		#进入当前容器后开启一个新的终端,可以在里面操作。(常用)
docker attach 		# 进入容器正在执行的终端
docker cp 容器id:容器内路径  主机目的路径	#从容器内拷贝到主机上# 查询容器信息
docker container COMMAND 

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

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

相关文章

python笔记(1)安装环境

1,官网下载自己电脑位数的安装包 https://www.python.org/downloads/windows/ install时勾选中add to path,把路径自动添加到环境变量 安装pycharm就不讲了 安装后选中自己的python安装包 file-> setting->project:yourprojectname ->pyt…

FastAPI之请求头

请求头 FastAPI是一个现代、快速(高性能)、异步的Python Web框架,用于构建RESTful APIs。它基于标准的Python类型提示,并且可以生成交互式的API文档。 在本教程中,我们将学习如何使用FastAPI处理请求头(H…

【详解优先级队列(堆)】

目录 堆的概念 堆的性质 堆的存储方式 堆的创建 堆的向下调整 向下过程(以小堆为例) 向下过程(以大堆为例) 建堆的时间复杂度O(n) 堆的插入与删除 堆的插入 向上调整建堆的时间复杂度O(nlogn) 堆的删除 常见习题 常用接口介绍 PriorityQueue的特性 Pri…

成功的云转型之路需要考虑的基本因素

云计算如今已经变得无处不在,并显著影响着日常生活的各个方面。然而,重要的是要注意云计算技术是不断发展的。最近向远程工作的转变促使企业加快数字化转型,更多地采用云计算服务。 即使在新冠疫情消退之后,云计算技术的采用也获得…

在虚拟机的Windows操作系统中:通过Jar方式若依项目,以及在外部的访问!

📚📚 🏅我是默,一个在CSDN分享笔记的博主。📚📚 ​​ 🌟在这里,我要推荐给大家我的专栏《Windows》。🎯🎯 🚀无论你是编程小白,还是有…

IDEA之设置主题风格为eclipse风格

设置IDEA的主题风格为eclipse风格,步骤如下: 1.选择File->Settings 2.选择 Plugins 3.搜索 eclipse theme,注意是红框里的,点击 install 下载后就会自动设置这个主题 4.你也可以去修改主题,选择 Appearance,设置th…

jdk+zookeeper+kafka 搭建kafka集群

环境资源包: jdk-8u341-linux-x64.tar.gz kafka_2.12-2.2.0.tgz zookeeper-3.4.14.tar.gz 一、安装jdk 因为kafka需要Java环境,所以优先配置jdk环境,若已经配置了java环境,此步骤可以忽略 [rootVM-120-2-centos ~]# tar -xvf j…

对比SPI、UART、I2C通信的区别与应用

SPI、UART、I2C通信是常用的数字通信协议,它们在不同的场景下有不同的应用。下面,我将分别介绍它们的特点、区别与应用。 SPI通信 SPI通信是一种串行同步通信协议,它的全称为“Serial Peripheral Interface”。SPI通信是一种单主多从的通信方…

【FPGA/verilog -入门学习6】verilog频率计数器

需求 在使能信号控制下,计算输入脉冲的每两个上升沿之间的时钟周期数并输出,即输出脉冲频率的计数值 输入信号 周期性脉冲信号:需要做检测的脉冲频率信号 使能信号:高电平进行频率计数,低电平清零计数器 输出信号 计数…

【UE】制作物体逐渐溶解消失并且可以复原的效果

效果 步骤 1. 新建一个工程,创建一个Basic关卡,添加第三人称游戏和初学者内容包资源到内容浏览器 2. 找到并打开初学者内容包中椅子的材质“M_Chair” 将混合模式改为“已遮罩” 在材质图表中添加如下节点 此时我们就可以通过参数“FadeAmount”来控制…

Debian openmediavault 自建Nas系统共享,raid5与btrfs文件系统无损原数据扩容

一、适用环境 1、企业自有物理专业服务器,一些敏感数据不外流时,使用openmediavault自建NAS系统; 2、在虚拟化环境中自建NAS系统,用于内网办公,或出差外网办公时,企业内的文件共享; 3、虚拟化环…

AutoGen多代理对话项目示例和工作流程分析

在这篇文章中,我将介绍AutoGen的多个代理的运行。这些代理将能够相互对话,协作评估股票价格,并使用AmCharts生成图表。 我们创建对话的目的是要求代理分析特定公司的股票价格,并制作股票价格图表。 为了实现这一目标,…

Unity | Shader基础知识(第一集:unity中最简单的shader)

一、unity的shader unity写的shader并不是真正意义上的shader。 简单解释:真正的shader语言写起来还是麻烦的,unity希望大家写起来简单一点,于是在原来的基础上,给大家优化了一个语言,叫shaderLab,所以我…

四、编写第一个 Shell 脚本

一、编写 Shell 脚本内容 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 chaoqing.sh,扩展名为 sh (sh 表示 shell),扩展名不影响脚本的运行。 输入一些代码,如下…

OpenHarmony应用编译 - 如何在源码中编译复杂应用

功能简介 在OpenHarmony系统中预安装应用的hap包会随系统编译打包到镜像中,目前有两种编译预安装应用hap包的方式,一种为随系统编译时,编译应用源码生成hap包的方式,另一种是将已生成的hap包放入系统源码中,再进行打包…

跨境电商如何利用跨境客服软件提升销售额

随着全球化的推进,跨境电商成为了许多企业拓展市场的重要途径。然而,跨境电商面临着语言、文化、时差等多种挑战,为了提供更好的客户服务并提升销售额,跨境电商需要利用跨境客服软件。本文将探讨跨境电商如何利用跨境客服软件来提…

HarmonyOS:NativeWindow 开发指导

场景介绍 NativeWindow 是 HarmonyOS 本地平台化窗口,表示图形队列的生产者端。开发者可以通过 NativeWindow 接口进行申请和提交 Buffer,配置 Buffer 属性信息。 针对 NativeWindow,常见的开发场景如下: ● 通过 NativeWindow…

Day35 贪心算法 part04

Day35 贪心算法 part04 860.柠檬水找零 pass 406.根据身高重建队列 pass

小航助学2023年9月电子学会Scratch一级真题(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号) 单选题2.00分 删除编辑附件图文 答案:C 第1题下列哪项内容是不可以修改的?( ) A、角色名称B、造型名称C、舞台名称D、背景名…

巧用RTL原语实现MUX门级映射

对于前端设计人员,经常会需要一个MUX来对工作模式,数据路径进行明确(explicit)的声明,这个对于中后端工程师下约束也很重要。这里介绍一种巧用的RTL原语,实现MUX的方法。闲言少叙,ICerGo&#x…