Docker打包自定义镜像的实现

 更新时间:2025年01月03日 10:13:57   作者:c1tenj2  
本文主要介绍了在Docker中打包自定义镜像,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

镜像的结构

Docker打包镜像

前置工作

 1.虚拟机中配置好docker环境,并导入nginx,mysql,jdk的镜像

2.下载docker for windows

用idea打包镜像和创建容器需要这个东西支持

下载安装包后执行,无脑回车即可

3.idea中配置docker连接

完成配置后,点开docker连接,可以看到如下内容

简单介绍一下,可以通过镜像创建容器。

镜像相当于一个配方,容器相当于菜肴,通过一个秘方可以创建无数个菜肴,同理:通过指定镜像可以创建无数个容器。

每个容器相当于一个小型linux机器,它只包含最基本的功能(内核级功能),用一句话形容就是:麻雀虽小五脏俱全。

4.将我们的工程打成一个jar包

1.首先,修改pom文件中的skip标签的值为false

否则他会跳过打包我们的启动类,在执行java -jar时会报如下错误 

2.执行命令  mvn -clean      mvn -package

也可以在界面执行

打包好会生成一个target文件夹,我们的jar包在这个文件夹里面 

两种打包镜像的方式

注意,镜像的名字必须全小写

手动打包(不推荐,应急情况下使用)

1.写Dockerfile文件

# 基于jdk17以上 的镜像创建
FROM openjdk:17-jdk-alpine

# 将编译后的文件复制到镜像中,用于运行
# 参数1 jar包所在位置(目录+文件名)
# 参数2 给这个jar起别名  用别名是为了移植方便
# ADD=COPY
ADD target/TestDockerDB01-0.0.1-SNAPSHOT.jar /app.jar

# 设置启动命令
ENTRYPOINT ["java","-jar","/app.jar"]

2.将jar包和Dockerfile文件通过ftp工具上传到虚拟机

3. 通过命令打包镜像

命令格式

docker build -t   镜像名:版本号   Dockerfile所在的地址

执行命令报错,这是因为当我们把jar包移到虚拟机后,它所在的位置就不是target/TestDockerDB01-0.0.1-SNAPSHOT.jar了 

这时候我们通过vi Dockerfile去修改文件

再一次检查一下jar包和Dockerfile文件的位置,重新执行命令

创建镜像成功

idea中也能看到我们刚刚创建的镜像 

通过idea打包

回到Dockerfile文件,进行配置

 把Dockerfile跑起来,这里我们选择第一个,创建镜像和容器

创建成功后会自动启动容器

到此这篇关于Docker打包自定义镜像的实现的文章就介绍到这了,更多相关Docker打包自定义镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Idea通过docker compose 发布项目的过程

    Idea通过docker compose 发布项目的过程

    这篇文章主要介绍了Idea结合docker-compose发布项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Docker打包SpringBoot镜像的实现方式

    Docker打包SpringBoot镜像的实现方式

    docker打包springboot镜像,并不是简单的将springboot项目的jar包上传容器里,然后启动,这个操作很简单,但是如果我每次要查看容器中的日志就需要每次都进入容器内部进行查看,这就非常麻烦了,所以本文介绍了Docker打包SpringBoot镜像的实现方式,需要的朋友可以参考下
    2024-03-03
  • 使用docker离线部署dify之docker镜像问题及部署过程

    使用docker离线部署dify之docker镜像问题及部署过程

    这篇文章主要给大家介绍了关于使用docker离线部署dify之docker镜像问题及部署过程,通过配置多个镜像源解决了,此外还介绍了如何将Dify镜像转移到离线环境并启动服务,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • 如何使用Docker快速搭建服务器环境

    如何使用Docker快速搭建服务器环境

    这篇文章主要介绍了使用Docker快速搭建服务器环境的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • Docker如何安装PostgreSQL

    Docker如何安装PostgreSQL

    这篇文章主要介绍了Docker如何安装PostgreSQL,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • docker挂载NVIDIA显卡运行pytorch的方法

    docker挂载NVIDIA显卡运行pytorch的方法

    这篇文章主要介绍了docker挂载NVIDIA显卡运行pytorch的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • docker commit与export区别小结

    docker commit与export区别小结

    本文主要介绍了docker commit与export区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • docker exec使用-it操作图文详解

    docker exec使用-it操作图文详解

    这篇文章主要介绍了docker exec使用-it操作的相关资料,主要是使用 docker exec -it CONTAINER_ID bash命令进入正在运行的Docker容器的终端,并保持终端的输入形式,需要的朋友可以参考下
    2025-03-03
  • 详解在Docker容器中运行Spring Boot应用

    详解在Docker容器中运行Spring Boot应用

    本文将以一个最简单的Spring Boot开发的Web应用为例,讲解如何将其容器化运行。本文的重点是构建Docker镜像、运行Docker容器。
    2017-06-06
  • 清除docker无用镜像实现过程

    清除docker无用镜像实现过程

    文章介绍了查看和清理Docker占用资源的方法,包括使用docker container ls、image ls、volume ls等命令了解资源状态,并通过docker system prune删除未使用容器、镜像、网络及缓存,同时强调删除镜像前需先移除引用容器
    2025-08-08

最新评论