docker 打包 springboot 项目快速入门

简介: docker 打包 springboot 项目快速入门

1.构建Sringboot工程

新建项目

创建接口

package com.wangshiyu.javapub.demo.springbootdocker.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: JavaPub
 * @License: https://github.com/Rodert/ https://gitee.com/rodert/
 * @Contact: https://javapub.blog.csdn.net/
 * @Date: 2022/2/26 12:24
 * @Version: 1.0
 * @Description:
 */

@RestController
public class HelloController {

    @RequestMapping("/hello")
    String hello(@RequestParam(required = false, defaultValue = "") String name) {
        return "hello, welcome wangshiyu JavaPub " + name;
    }
}

maven 打包 springboot 项目

mvn clean package -DskipTests

2.编写Dockerfile

Dockerfile讲解

#基础镜像通过java8来的
FROM java:8
#将当前文件中所有*.jar  拷贝到项目的app.jar中(这个app.jar是自己生成的)
COPY *.jar /app.jar
#映射地址
CMD ["--server.prot=8080"]
#暴露端口
EXPOSE 8080
#执行命令java  -jar
ENTRYPOINT ["java","-jar","/app.jar"]

3.docker环境搭建和构建docker镜像运行

文件准备

拷贝 *.jar 包和 Dockerfile 到linux服务器文件夹下

linux下docker安装

本次在root权限下安装

  1. 更新yum到最新版本

yum update

  1. 卸载旧版本(如果没安装,忽略)

yum remove docker

docker-client

docker-client-latest

docker-common

docker-latest

docker-latest-logrotate

docker-logrotate

docker-selinux

docker-engine-selinux

docker-engine


yum list installed | grep docker


yum remove docker-ce


rm -rf /var/lib/docker


curl -sSL https://get.daocloud.io/docker | sh


安装一些工具

yum install -y yum-utils device-mapper-persistent-data lvm2


yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


安装docker稳定版

yum install docker-ce


成功

docker version


切换国内加速镜像

vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]
}

systemctl daemon-reload

systemctl restart docker

异常

如果中途出现什么旧版本没卸载干净,把卸载命令全部重新执行一遍。

打包构建docker镜像

  1. 将 jar包 打包成 docker 镜像(基于Dockerfile打包一个名为 idea_docker_image_test 的镜像,版本为1.0)

docker build -t idea_docker_image_test:1.0 -f Dockerfile .

  1. 查看镜像是否打包成功

docker images

运行

docker run -d --name idea_docker_image_test -p 8080:8080 idea_docker_image_test:1.0

查看日志

  1. 查看控制台日志

docker logs -f --tail=100 容器id

  1. 查看slf4j日志

通过 docker exec -it 容器id /bin/bash 进入容器

再通过项目里指定的路径及可找到日志文件

仓库地址


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7天前
|
前端开发 JavaScript Java
计算机Java项目|基于Spring Boot的中小型医院网站的设计与实现
计算机Java项目|基于Spring Boot的中小型医院网站的设计与实现
|
1天前
|
消息中间件 Java Kafka
集成Kafka到Spring Boot项目中的步骤和配置
集成Kafka到Spring Boot项目中的步骤和配置
21 7
|
1天前
|
Java Docker 容器
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
12 2
|
1天前
|
XML 搜索推荐 Java
Elasticsearch集成到Spring Boot项目
将Elasticsearch集成到Spring Boot项目中,可以方便地实现数据的搜索、分析等功能。
18 2
|
1天前
|
监控 前端开发 Java
五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
|
1天前
|
Java API Spring
集成EasyPoi(一个基于POI的Excel导入导出工具)到Spring Boot项目中
集成EasyPoi(一个基于POI的Excel导入导出工具)到Spring Boot项目中
10 1
|
3天前
|
运维 安全 Java
SpringBoot运维篇(打包,多环境,日志)
SpringBoot运维篇(打包,多环境,日志)
|
4天前
|
数据采集 人工智能 监控
Spring Boot项目中集成Spring AI(也就是Spring Artificial Intelligence)
Spring Boot项目中集成Spring AI(也就是Spring Artificial Intelligence)
30 1
|
6天前
|
存储 Linux Docker
python项目 以docker形式打包部署全流程
在很久很久以前,我已经听过Docker的大名,当时服务着急上线虽然考虑过用Docker来部署我的服务,但是因为赶期的原因放弃了。 这两天因为华为云服务器到期,而且阿里云服务器优惠力度特别大的原因,我要把华为云服务器里的工程迁移到阿里云。 迁移的过程中,大量的时间精力浪费在了重装python,加载依赖,迁移项目,配置端口等环境配置的工作上。 我在想,如果当时用了Docker部署,我至于受这气?
|
1天前
|
Java
杨校老师项目之基于SpringBoot的理发店的预约管理系统
杨校老师项目之基于SpringBoot的理发店的预约管理系统
11 0