用docker部署springboot项目

创建springboot项目,编写一个简单的hello world controller

下面是效果图。

下面是pom.xml 文件。

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 2   <modelVersion>4.0.0</modelVersion>
 3   <groupId>com.lmy</groupId>
 4   <artifactId>springboot-docker</artifactId>
 5   <version>0.0.1-SNAPSHOT</version>
 6
 7     <parent>
 8         <groupId>org.springframework.boot</groupId>
 9         <artifactId>spring-boot-starter-parent</artifactId>
10         <version>1.5.3.RELEASE</version>
11         <relativePath />
12     </parent>
13
14     <properties>
15         <java.version>1.8</java.version>
16         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
18     </properties>
19     <dependencies>
20         <dependency>
21             <groupId>org.springframework.boot</groupId>
22             <artifactId>spring-boot-starter-web</artifactId>
23         </dependency>
24         <dependency>
25             <groupId>org.springframework.boot</groupId>
26             <artifactId>spring-boot-starter-test</artifactId>
27             <scope>test</scope>
28         </dependency>
29     </dependencies>
30     <build>
31         <plugins>
32             <plugin>
33                 <groupId>org.springframework.boot</groupId>
34                 <artifactId>spring-boot-maven-plugin</artifactId>
35             </plugin>
36         </plugins>
37     </build>
38 </project>

下面是目录结构。

App.java代码

package com.lmy.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

HelloController.java代码

package com.lmy.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping("/hi/{name}")
    public String sayHello(@PathVariable String name){
        return "hi,"+name;
    }
}

将springboot项目打包成jar包。

我是在pom中加入了maven build的plugin,右键project,选择Run As 选择maven build, 在goals中输入package

控制台出现下面的字样表示打包成功,

这时候在target文件夹中出现了build出来的jar包。

将这个jar包拷贝到dockerfile文件的同一级目录。

Dockerfile代码

FROM java:8
ENV REFRESHED_AT 2019-07-25
ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c ‘touch /app.jar‘
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

运行下面的命令创建镜像sudo docker build -t lmy/springboot_v1 .运行下面的命令创建运行容器,sudo docker run -d -p 8085:8080 lmy/springboot_v1

下面可以看到已经运行成功了。

原文地址:https://www.cnblogs.com/liumy/p/11247667.html

时间: 2024-10-09 00:53:47

用docker部署springboot项目的相关文章

win10环境下使用docker部署spring-boot项目

基本目录结构 前置条件 windows正常docker服务启动 pom插件配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&qu

Docker快速上手之部署SpringBoot项目

Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”. Linux 容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的.将应用运行在 Docker 容器上面,而 Docker 容器在任何操作系统上都是一致的,这就实现了

Docker部署springboot,从简单Eureka开始

前言 docker构建镜像,部署springboot项目已不是新鲜事,就因为docker的持续集成.版本控制.可移植性.隔离性和安全性等优点,使得被大家广泛应用. 今天就分享下自己简单部署Eureka的过程. 项目打包 本文前提将简单的Eureka项目利用Maven打成jar包(eureka-server-1.0.0.jar):由于Docker安装在阿里云,所以将打好的jar放在云服务器上(新建个文件夹/usr/local/dev/docker/testProject/), 具体打包过程网上有很

Docker容器和本机之间的文件传输 使用Docker部署Tomcat项目

Docker容器和本机之间的文件传输. http://blog.csdn.net/leafage_m/article/details/72082011 使用Docker部署Tomcat项目 http://blog.csdn.net/leafage_m/article/details/72081987

SpringBoot(二)CentOS部署SpringBoot项目从0到1

在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomcat的安装,前面几篇文章实际上已经充分准备好了部署Linux的必要条件.那么今天来看看如何在CentOS部署SpringBoot,让你的SpringBoot在服务器上跑起来. vLinux部署springboot 从0到1,5步走,在Linux Tomcat部署springboot: 1. <CentOS

Docker 部署Django项目

使用docker部署django项目也很简单,挺不错,分享下 环境 默认你已安装好docker环境 django项目大概结构 (p3s) [[email protected]]# tree opsweb opsweb ├── apps ├── logs ├── manage.py ├── media ├── opsweb ├── README.md ├── requirements.txt └── static 编写Dockerfile 这里指定 Python 版本为docker官方提供的 "0

linux服务器部署SpringBoot项目并查看项目运行日志

在Linux服务器上部署SpringBoot项目: 1.首先将SpringBoot项目打包成JAR包,通过xFTP或者其他工具将JAR包上传到Linux上,然后执行如下命令启动项目: java -jar xxx.jar & 该命令启动jar,一旦Xshell窗口关闭,JAR就停止运行了. 如果想让项目在后台一直运行,通过如下命令启动JAR: nohup java -jar xxx.jar & >> consoleMsg.log 2>&1 & 注意:cons

docker初体验:Docker部署SpringCloud项目eureka-server

Docker部署SpringCloud项目eureka-server 1 创建eureka-server工程 创建父工程cloud-demo,其pom.xml如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS

Docker网络配置、Docker部署分布式项目

目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定 1.bridge模式(默认模式) docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network Namespace, 同一个宿主机上的所有容器会