首页 > 其他分享 >Docker容器镜像打成tar包

Docker容器镜像打成tar包

时间:2024-11-10 23:01:06浏览次数:5  
标签:tar demo app jar usr 镜像 Docker docker

简述需求:

用户要求分系统输出镜像tar包,上传zip包利用平台统一管理。利用docker容器保存镜像进行打包,在另一台服务上使用。

利用 Dockerfile 来打tar包

什么是 Dockerfile?

Dockerfile 是一个文本文件,包含了构建 Docker 镜像的所有指令。

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

通过定义一系列命令和参数,Dockerfile 指导 Docker 构建一个自定义的镜像。

1、构造 Dockerfile 

#构建镜像来自openjdk基础镜像
FROM openjdk
#通过镜像标签声明信息
LABEL maintainer="demo-app"
#新镜像构建成功后创建指定目录
RUN mkdir -p /usr/demo/config && mkdir -p /usr/demo/app
#拷贝文件到镜像中
COPY demo.jar /usr/demo/app/demo.jar
COPY db /usr/demo/app/db
#复制启动脚本,并且为脚本赋予执行权限
COPY start-jar.sh /usr/demo/app/start-jar.sh
RUN chmod +x /usr/demo/app/start-jar.sh
#暴露容器运行时的8800端口给外部
EXPOSE 8800
#启动方式一:直接依次启动每个jar包
#启动容器时启动,注意最后一个nohup java -jar不能加&使其在后台运行,因为需要一个前台进程保证docker容器的运行
#CMD nohup java -jar -Dspring.config.location=/usr/demo/config/demo-common-gateway.yml /usr/demo/app/demo-common-gateway.jar & nohup java -jar -Dspring.config.location=/usr/demo/config/demo.yml /usr/demo/app/demo.jar

#启动方式二:通过sh文件启动多个jar包(未验证)
CMD ["/usr/demo/app/start-jar.sh","run"]

2、启动脚本

#!/bin/bash
cd /usr/demo/app
java -jar ./demo.jar #& 代表不输出日志
echo "restart over"

3、上传到有docker的服务器,这里用到了SQLite

 4、如何生成镜像

常用命令

删除
docker rm -f <容器名> 

进入容器
docker exec -it <容器名> /bin/bash

 容器停止
 docker stop <容器 ID>

 

 停止的容器可以通过 docker restart 重启

 docker restart <容器 ID>


 镜像ID删除
 docker rmi <镜像ID/镜像标签>


 删除所有没用的镜像
 docker image prune

执行 Dockerfile 

docker build -t demo-app:1.0.0 -f Dockerfile .

 新建并启动容器

docker run -d -p 9629:9629 --name eomoss-app --restart=always demo-app:1.0.0

#这个需要服务注册到 nacos 采用环境变量的方式,通过 run 命令变量传递 nacos 相关信息
docker run  -idt --name demo-app  -p9529:9529 -e NACOS_ADDR=172.31.0.1:8848 -e NACOS_WORKSPACE=1fa654fd-4927-4dd2-ad62-aa34dcb8b76d -e NACOS_NAME=nacos -e NACOS_PSW=nacos -e NACOS_GROUP=DEFAULT_GROUP --restart=always demo-app:1.0.0

 执行成功输出ID

 nacos中显示服务注册成功

 

查看镜像

docker images

 查看容器

docker ps -a

 镜像导出tar包

docker save > demo.tar demo-app:1.0.0

 镜像导入

docker load < demo-app.tar

 

 

请大家纠正!

标签:tar,demo,app,jar,usr,镜像,Docker,docker
From: https://www.cnblogs.com/bJydsJ/p/18537834

相关文章

  • Linux的boot和startup过程
    Linux的启动主要分为两阶段的过程:boot和startup。boot过程在计算机启动后触发,完成代表内核初始化成功并且系统已经启动。之后startup过程接管并将计算机转变为可触发状态。总的来说,主要由接下来的步骤完成:1、BIOSPOST2、Bootloader(GRUB2)3、Kernelinitialization4、Start......
  • win10安装与配置Mysql9.1时执行net start mysql显示服务名无效请输入NET HELPMSG 2185
    几年的时间mysql从5.0到9.x了,在windows系统上安装两种方式,MSI安装程序和ZIP压缩包。这里不讲安装教程,只说说安装报错的原因。最近用zip压缩包下载解压配置,下载社区版本,在官网下载对应的版本。https://downloads.mysql.com/archives/community/在前面修改my.ini文件,以及执行......
  • docker的使用(使用docker部署ctf题目)
    最近实验室要举办一次ctf竞赛,本人web手兼杂项手,杂项的题在服务器上传附件就行,比较好弄,然后web的题目需要docker部署,就学了一下docker,前前后后忙了一天多,做了很多无用功。我太菜鸡了。记录一下配置过程还有docker的一些知识点。(学习尚浅,希望路过的大佬多多指导)0X01什么是DockerD......
  • 安娜的档案(Anna’s Archive)官网最新镜像网站入口(实时更新)
    安娜的档案(Anna’sArchive)是一个广受欢迎的在线资源平台,汇集了Z-Library、LibraryGenesis和Sci-Hub等资源,拥有超过2000万册书籍和9000万篇论文。该网站提供多种下载选项,包括快速、慢速、libgen、IPFS和Tor浏览器下载,以满足不同用户的网络和需求。用户可以无需注册,直接免费获取资......
  • 新手上云实践:在腾讯云CVM上使用Docker部署Leanote开源笔记工具
    新手上云实践:在腾讯云CVM上使用Docker部署Leanote开源笔记工具前言一、云服务器CVM介绍1.1CVM简介1.2CVM主要特点1.3CVM主要使用场景二、本次环境规划2.1本次实践简介2.2本次环境规划三、购买CVM云服务器3.1腾讯云双十一活动3.2购买云服务器CVM3.3检查CVM云服......
  • docker的介绍和一部分基础命令
    一:docker简介定义根据官方的定义,Docker是以Docker容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建、发布和运行分布式应用的平台。docker解决了什么问题1.解决了应用程序本地运行环境与生产运行环境不一致的问题2.解决了应用......
  • Z-library数字图书馆镜像地址及客户端/app(持续更新)
    Z-library数字图书馆镜像地址及客户端/app(持续更新)Z-Library(简称Z-Lib,前身为BookFinder)是一个著名的数字图书馆。Z-Library拥有庞大的藏书量,涵盖学术文献、各类书籍等多种类型。资源丰富且免费,为全球读者和学术研究者提供了极大便利,支持多种检索方式,能高效找到目标资料。......
  • "stackblitz": { "startCommand": "yarn run test:unit" } 这个命令的作用是
    在package.json文件中,stackblitz字段用于配置StackBlitz环境中的特定设置。StackBlitz是一个基于云的开发环境,允许用户在线编写、运行和调试代码。startCommand字段指定了在StackBlitz环境中启动项目时应该执行的命令。startCommand字段的作用"stackblitz":{"star......
  • Z-Library官网入口镜像网址及客户端合集 (2024持续更新)
    Z-Library(简称Z-Lib,前身为BookFinder)是一个影子图书馆网站,用户可在上面下载期刊、文章以及各类书籍,其共收录了超过1000w本书籍和8000w篇文章。它原是创世纪图书馆(LibraryGenesis)的镜像网站,并从该图书馆获得大部分馆藏,但它的一些馆藏由用户自行上传,并且不为创世纪图书馆所......
  • 国内 ChatGPT中文版镜像网站整理合集(2024/11/10)
    一、GPT中文镜像网站① www.yixiaai.com 支持GPT4、4o以及o1,支持通用全模型② chat.lify.vip 支持GPT3.5/4,4o以及AI绘画,支持AI文件、AI插件、AI绘画、AIPPT③ AIPlus支持GPT3.5/4,4o以及AI绘画1.什么是镜像站镜像站(MirrorSite)是指通过复制原始网站内容和结构,创......