Docker自定义镜像的实现步骤(SpringBoot程序为例)
|
一. 说明
Docker自定义镜像指的是用户根据自己的需求和规范,使用Dockerfile或其他方式创建的一个Docker镜像。- Dockerfile说明:
- DockerFile是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来Docker可以根据Dockerfile帮我们构建镜像。常见指令如下:
复制代码 指令说明示例FROM指定基础镜像FROM centos: 6
ENV设置环境变量,可在后面指令使用ENV key valueCOPY拷贝本地文件到镜像的指定目录COPY ./jre11.tar.gz /tmpRUN执行Linux的shell命令,一般是安装过程的命令RUN tar -zxvf /tmp/jre11.tar.gz && EXPORT path=/tmp/jre11 path
EXPOSE指定容器运行时的监听的端口,给镜像使用者看EXPOSE 8080ENTRYPOINT镜像中应用的启动命令,容器运行时调用ENTRYPOINT java -jar xx.jar- ps:<a href="https://docs.docker.com/engine/reference/builder" rel="external nofollow" target="_blank">官网文档</a>
复制代码 这个镜像需要包含特定的操作系统、软件、配置文件和其他必要的组件,以满足用户特定的应用或开发环境需求(镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。)- 自定义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
复制代码 最后,通过
我们可以看到镜像已经运行成功了,并且swagger也可以正常的访问!
最后
到此这篇关于Docker自定义镜像的实现步骤(SpringBoot程序为例)的文章就介绍到这了,更多相关Docker自定义镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://www.jb51.net/server/3223538x9.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
发表于 2024-6-11 19:35:18
举报
回复
分享
|
|
|
|