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

相关文章

  • docker安装Elasticsearch7.6集群并设置密码的方法步骤

    docker安装Elasticsearch7.6集群并设置密码的方法步骤

    本文主要介绍了docker安装Elasticsearch7.6集群并设置密码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程

    借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程

    这篇文章主要介绍了借助Docker搭建JMeter+Grafana+Influxdb监控平台,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • docker利用nextcloud搭建一个私有百度云盘

    docker利用nextcloud搭建一个私有百度云盘

    这篇文章主要介绍了docker利用nextcloud搭建一个私有百度云盘,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 详细讲解Docker-Compose部署Kafka KRaft集群环境

    详细讲解Docker-Compose部署Kafka KRaft集群环境

    这篇文章主要为大家介绍了Docker-Compose部署Kafka KRaft集群环境的全面详细讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Docker构建Jar镜像的方法实现

    Docker构建Jar镜像的方法实现

    本文主要介绍了Docker构建Jar镜像的方法实现,主要包括编写Dockerfile、构建镜像、测试镜像等操作,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 使用docker-compose部署mysql的完整步骤

    使用docker-compose部署mysql的完整步骤

    Compose是用于定义和运行多容器Docker应用程序的工具,通过Compose可以使用YAML文件来配置应用程序的服务,下面这篇文章主要给大家介绍了关于使用docker-compose部署mysql的相关资料,需要的朋友可以参考下
    2022-08-08
  • 使用Distroless提高容器安全

    使用Distroless提高容器安全

    这篇文章主要为大家介绍了使用Distroless提高容器安全,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 在Ubuntu15.04上安装Docker的步骤以及基本用法

    在Ubuntu15.04上安装Docker的步骤以及基本用法

    Docker是一种轻量型的的类虚拟机的平台,在开发项目上还是很有优势的,这仅是我的一种直观理解。所以这篇文章主要给大家介绍了在Ubuntu15.04上安装Docker的步骤以及基本用法,有需要的朋友们可以参考借鉴。
    2016-10-10
  • docker image删不掉的解决办法

    docker image删不掉的解决办法

    在使用Docker的时候遇到删不掉image的情况,怎么回事,如何解决呢?下面小编给大家分享下docker image删不掉的解决办法,需要的朋友参考下吧
    2017-01-01
  • docker push遇到unknown blob问题解决

    docker push遇到unknown blob问题解决

    这篇文章主要为大家介绍了docker push遇到unknown blob问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论