首页 > 其他分享 >springboot项目构建docker镜像

springboot项目构建docker镜像

时间:2024-03-09 10:33:24浏览次数:32  
标签:springboot jar 构建 镜像 docker Dockerfile

springboot项目构建docker镜像

springboot项目构建成docker镜像的两种方式

手动方式:
将springboot项目打成一个jar包,将jar包上次到服务器的指定目录下(具备docker环境),然后在同一目录下编写Dockerfile文件,通过docker build命令构建镜像,之后把镜像发布到远程仓库中。

半自动方式:
通过添加插件与docker配置信息的方式,使用项目中的dockerfile文件进行打包之后自动上传到远程仓库中。

本文主要讲的是手动方式构建镜像

手动方式构建docker镜像的执行步骤

1.构建springboot项目

创建一个spring web项目,添加一个控制层的接口,用来测试。编写Dockerfile文件用来构建镜像。

Dockerfile文件:
FROM openjdk:latest

COPY *.jar /app.jar

CMD ["--server.port=8080"]

EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]

2.打包项目,上传项目jar包与Dockerfile文件

上传的jar包路径与Dockerfile文件需要在同一路径下,如果不在同一路径的话,需要指定Dockerfile文件的路径

3.构建镜像,创建容器进行测试

上传到指定路径后,执行docker build命令生成镜像,创建容器并通过curl命令来测试接口。
构建镜像命令:
docker build -t shen-adapter .
创建容器命令:
docker run -d -P --name springboot-docker-project shen-adapter
测试控制层接口命令:
curl 宿主机的ip:宿主机映射容器的端口号/adapter/hello

参考资料

https://www.jb51.net/article/276346.htm
https://cloud.tencent.com/developer/article/1903257
https://www.cnblogs.com/niceyoo/p/13796792.html

标签:springboot,jar,构建,镜像,docker,Dockerfile
From: https://www.cnblogs.com/shenStudy/p/18062351

相关文章

  • 基于苍穹外卖写的springboot学习笔记,私聊拿源码
    一.关于md5加密的了解与使用1.分析MD5加密是一种不可逆的加密算法。也就是说我们只能正向加密,无法反向解密。于是乎,当我们用它作为密码加密方式时,我们只能加密码从数据库拿来与前端传来的数据加密后进行比较。2.使用方法他是由springboot框架提供二.关于swagge......
  • 理解 Docker 容器中 UID 和 GID 的工作原理
    理解用户名、组名、用户ID(UID)和组ID(GID)在容器内运行的进程与主机系统之间的映射是构建安全系统的重要一环。如果没有提供其他选项,容器中的进程将以root用户身份执行(除非在Dockerfile中提供了不同的UID)。本文将解释这一工作原理,如何正确授予权限,并提供示例加以说明。逐步分析uid/g......
  • 在Docker中,怎么快速查看本地的镜像和容器?
    在Docker中,查看本地的镜像和容器分别可以通过以下两条命令来快速实现:1.查看本地镜像要查看本地计算机上存储的所有Docker镜像,可以使用dockerimages命令。这个命令会列出所有可用的镜像,包括镜像的存储库名称、标签、镜像ID、创建时间和所占用的空间。dockerimages输出示例:......
  • 在Docker中,如何实现退出容器时候自动删除?
    在Docker中,要实现容器在退出时自动删除,可以在运行容器时使用--rm标志。--rm参数会指示Docker在容器退出后立即删除容器。以下是具体的命令示例:dockerrun--rm<image-name><command>例如,如果要运行一个基于Ubuntu镜像的容器,并在容器运行完cat/etc/hosts命令后自动删除容......
  • 在Docker中,构建镜像应该遵循哪些原则?
    构建Docker镜像时,应当遵循以下一系列最佳实践和原则,以确保镜像的高效、安全和易于维护:镜像最小化:选择尽可能小的基础镜像,如AlpineLinux,或者针对特定场景选择轻量级的基础镜像。只安装应用程序运行所必需的软件包和服务,避免无关组件和文件。在构建过程中清理临时文件和构建......
  • 在Docker中,如何批量清理临时镜像文件?
    在Docker中,所谓的“临时镜像”或“虚悬镜像”(danglingimages)是指那些没有被任何容器引用的层,通常是在构建新镜像时遗留下来的中间层。要批量清理这类镜像,你可以使用dockerimages命令结合一些过滤条件来找到它们,然后用dockerrmi命令删除。以下是批量清理临时镜像文件的步骤......
  • 在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
    在Docker中,当一个容器退出(stoppedorexited)后,它将不再处于运行状态,因此,通过dockerps命令默认情况下将无法看到已退出的容器。然而,这并不意味着容器内的数据会丢失。容器退出时,其存储层中的数据通常是保留的,除非你明确地删除了容器。这意味着即便容器停止运行,只要你没有使用d......
  • Window10使用Docker-Desktop自带k8s和dashboard配置本地k8s开发环境
    安装Docker-DesktopInstallDockerDesktoponWindows下载地址:https://docs.docker.com/desktop/install/windows-install/打开Docker-Desktop,启用Kubernetes打开Docker-Desktop,启用Kubernetes点击左上角:设置,选择Kubernetes选项卡,启用Kubernetes,点击Apply&restart注意:最......
  • Docker Compose一键搭建安全测试靶场
    1.Docker快速安装1.1.ubuntu系统步骤一:安装必要的一些系统工具sudoapt-getupdatesudoapt-get-yinstallapt-transport-httpsca-certificatescurlsoftware-properties-common步骤二:安装GPG证书curl-fsSLhttps://mirrors.aliyun.com/docker-ce/linux/ubuntu/gp......
  • macOS Ventura 13.6.5 (22G621) Boot ISO 原版可引导镜像下载
    macOSVentura13.6.5(22G621)BootISO原版可引导镜像下载3月8日凌晨,macOSSonoma14.4发布,同时带来了macOSVentru13.6.5和macOSMonterey12.7.4安全更新。macOSVentura13.6及更新版本,如无特殊说明皆为安全更新,不再赘述。本站下载的macOS软件包,既可以拖拽到......