一. 说明
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自定义镜像内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论