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打包自定义镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker安装logstash的详细过程

    Docker安装logstash的详细过程

    这篇文章主要介绍了Docker安装logstash的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 详解Docker 容器互联方法

    详解Docker 容器互联方法

    这篇文章主要介绍了详解Docker 容器互联方法,Docker容器都是独立的,互相隔离的环境。然而,它们通常只有互相通信时才能发挥作用。
    2017-03-03
  • Docker自定义网络详细介绍

    Docker自定义网络详细介绍

    大家好,本篇文章主要讲的是Docker自定义网络详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 一文带你了解Docker网络模型

    一文带你了解Docker网络模型

    Docker是一种容器化平台,它提供了一种轻量级的虚拟化解决方案,使得应用程序能够以容器的形式运行,Docker网络模型基于Linux内核的网络命名空间和虚拟以太网桥技术,本文就给大家详细介绍一下Docker 网络模型,需要的朋友可以参考下
    2023-07-07
  • Docker容器互相连接三种实现方法详解

    Docker容器互相连接三种实现方法详解

    这篇文章主要介绍了Docker容器互连三种实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • docker安装es与kibana的过程及遇到问题

    docker安装es与kibana的过程及遇到问题

    这篇文章主要介绍了docker安装es与kibana的过程及遇到问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-02-02
  • Docker部署Graylog日志管理系统

    Docker部署Graylog日志管理系统

    Graylog是一个开源的日志管理平台,支持强大的搜索功能,本文主要介绍了Docker部署Graylog日志管理系统,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • docker 查看容器的挂载目录操作

    docker 查看容器的挂载目录操作

    这篇文章主要介绍了docker 查看容器的挂载目录操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 使用Docker部署Dashdot服务器仪表盘的步骤

    使用Docker部署Dashdot服务器仪表盘的步骤

    Dashdot是一款简单、实用的开源服务器仪表盘,设计时考虑到了玻璃形态,它旨在用于较小的 VPS 和私人服务器,这篇文章主要介绍了使用Docker部署Dashdot服务器仪表盘,需要的朋友可以参考下
    2022-12-12
  • centos7安装docker容器的超详细步骤记录

    centos7安装docker容器的超详细步骤记录

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,这篇文章主要给大家介绍了关于centos7安装docker容器的超详细步需要的朋友可以参考下
    2022-08-08

最新评论