Docker自定义镜像的实现步骤(SpringBoot程序为例)

 更新时间:2024年06月07日 09:11:06   作者:Meteors.  
Docker自定义镜像指的是用户根据自己的需求和规范,使用Dockerfile或其他方式创建的一个Docker镜像,本文给大家介绍了Docker自定义镜像的实现步骤,文中通过图文讲解的非常详细,需要的朋友可以参考下

一. 说明

Docker自定义镜像指的是用户根据自己的需求和规范,使用Dockerfile或其他方式创建的一个Docker镜像。

Dockerfile说明:

DockerFile是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来Docker可以根据Dockerfile帮我们构建镜像。常见指令如下:

指令说明示例
FROM指定基础镜像

FROM centos: 6

ENV设置环境变量,可在后面指令使用ENV key value
COPY拷贝本地文件到镜像的指定目录COPY ./jre11.tar.gz /tmp
RUN执行Linux的shell命令,一般是安装过程的命令

RUN tar -zxvf /tmp/jre11.tar.gz && EXPORT path=/tmp/jre11:$path

EXPOSE指定容器运行时的监听的端口,给镜像使用者看EXPOSE 8080
ENTRYPOINT镜像中应用的启动命令,容器运行时调用ENTRYPOINT java -jar xx.jar

ps:官网文档

这个镜像需要包含特定的操作系统、软件、配置文件和其他必要的组件,以满足用户特定的应用或开发环境需求(镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。

自定义Docker镜像的好处:用户可以根据自己的需要定制镜像内容,从而实现快速部署、可扩展性和可移植性。

二.  实现步骤

以运行一个SpringBoot程序为例,部署步骤如下:

将Java项目进行打包

编写Dockerfile文档

# 配置jdk环境
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包到镜像内,并改名为app.jar
COPY mp-demo-0.0.1-SNAPSHOT.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

构建镜像

docker build -t mp-demo .

下载jdk环境(文末附下载链接)

运行镜像

docker run -d --name mp-demo -p 8080:8080 mp-demo

 最后,通过

docker logs -f mp-demo

我们可以看到镜像已经运行成功了,并且swagger也可以正常的访问!

最后

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

相关文章

  • 3分钟用Docker搭建一个Minecraft服务器

    3分钟用Docker搭建一个Minecraft服务器

    这篇文章主要介绍了3分钟用Docker搭建一个Minecraft服务器的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • docker常用命令及设置开机自启方式

    docker常用命令及设置开机自启方式

    这篇文章主要介绍了docker常用命令及设置开机自启方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Docker 40个实用的自动化管理脚本

    Docker 40个实用的自动化管理脚本

    如果你最近在学习或者使用现代软件开发技术,Docker和Kubernetes这两个词一定频频出现在你的视线中,这篇文章主要介绍了Docker 40个实用的自动化管理脚本的相关资料,需要的朋友可以参考下
    2025-12-12
  • docker 安装 zeppeline的操作

    docker 安装 zeppeline的操作

    Zeppelin是基于Jupyter Notebook技术开发的大数据交互分析服务软件。接下来通过本文给大家介绍docker 安装 zeppeline的相关知识,感兴趣的朋友一起看看吧
    2022-01-01
  • 解决docker目录内存不足扩容处理方案

    解决docker目录内存不足扩容处理方案

    文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配置、重启服务并验证迁移成功,最终释放系统盘空间
    2025-09-09
  • 卸载Docker时保留本地镜像和容器方式

    卸载Docker时保留本地镜像和容器方式

    文章讲述了如何在Linux、Windows和Mac系统中备份和恢复Docker镜像和容器,备份过程包括列出本地镜像、保存镜像和导出容器,恢复过程则涉及卸载Docker、重新安装Docker以及使用dockerload和dockerimport命令恢复镜像和容器
    2024-11-11
  • docker之创建MariaDB镜像的方法

    docker之创建MariaDB镜像的方法

    这篇文章主要介绍了docker之创建MariaDB镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 在Docker中部署Confluence和jira-software的方法步骤

    在Docker中部署Confluence和jira-software的方法步骤

    这篇文章主要介绍了在Docker中部署Confluence和jira-software的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • dockerfile引用自建dns服务方式

    dockerfile引用自建dns服务方式

    这篇文章主要介绍了dockerfile引用自建dns服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • Docker如何快速搭建LNMP环境(最新)

    Docker如何快速搭建LNMP环境(最新)

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。本文给大家分享机器学习的基础知识,docker搭建lnmp环境的步骤,感兴趣的朋友一起看看吧
    2021-06-06

最新评论