linux下用Docker部署一个简单的springboot项目(完整版)
本文主要讲解如何用docker部署一个springboot项目第一大部分主要讲了需要的docker环境搭建第二大部分主要讲了springboot项目搭建、打包、部署到docker上需要的基本工具:云服务器一台,centos7以上基于idea搭建的微服务项目一、云服务器环境搭建安装docker1、安装docker:`yum install docker`2、启动docker并设置为启动:system
本文主要讲解如何用docker部署一个springboot项目
第一大部分主要讲了需要的docker环境搭建
第二大部分主要讲了springboot项目搭建、打包、部署到docker上
需要的基本工具:
云服务器一台,centos7以上
基于idea搭建的微服务项目
一、云服务器环境搭建
安装docker
1、安装docker:
yum install docker
2、启动docker并设置为启动:
systemctl start docker.service
systemctl enable docker.service
3、使用docker中国加速器
vi /etc/docker/daemon.json
#打开文件后添加:
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
4、重启docker
systemctl restart docker
5、使用命令docker version可查看已经安装完成及安装的版本号
安装jdk
1、
yum -y install java-1.8.0-openjdk*
安装完成
2、配置环境变量
使用vi命令打开 /etc/profile
vim /etc/profile
添加两行数据
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export PATH=$PATH:$JAVA_HOME/bin
我把他放在最底下了
3、修改之后使其生效
source /etc/profile
4、查看安装情况
java -version
安装maven
1、下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
2、 解压
tar vxf apache-maven-3.5.4-bin.tar.gz
3.移动
mv apache-maven-3.5.4 /usr/local/maven3
4、配置环境变量
vi打开/etc/profile,然后在最底下添加下面的配置
vi /etc/profile
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
5、执行命令,使配置生效
source /etc/profile
6、查看安装情况及版本号
mvn -version
环境构建完成
二、创建一个简单的springboot项目并打包部署到docker上
创建springboot项目:
创建一个简单的springboot项目
1、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="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>lq.study</groupId>
<artifactId>docker</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>docker</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<docker.image.prefix>springboot</docker.image.prefix>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- Docker maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
</project>
2、controller
@RestController
public class DockerTest {
@RequestMapping("/print")
public String printUserInfo(){
return "Hello Docker!";
}
}
3、配置文件
server.port=7070
server.servlet.context-path=/test
4、创建一个dockerfile文件
文件内容如下
#获取base image
FROM adoptopenjdk/openjdk8:latest
#类似于执行 linux指令
RUN mkdir /opt/app
#类似于linux copy指令
COPY docker-0.0.1-SNAPSHOT.jar /opt/app/
#对外端口
EXPOSE 7070
#执行命令 java -jar /opt/app/demo-docker.jar
CMD ["java", "-jar", "/opt/app/docker-0.0.1-SNAPSHOT.jar"]
5、打包项目
启动项目并且,测试项目是否正常
6、打包完成后复制jar包和dockerfile文件到linux指定目录,我的目录是如下
7、创建镜像
sudo docker build -t docker.demo .
创建成功
8、查看当前镜像
docker images
9、生成容器
docker run -it -p 7070:7070 docker-demo
10、浏览器访问公网ip及对应的接口,39.96.40.x为你自己云服务器的Ip
http://39.96.40.x:7070/test/print/
参考:
环境搭建;https://blog.csdn.net/yan88888888888888888/article/details/83022878
项目部署:https://www.jianshu.com/p/d998dc9d9685
更多推荐
所有评论(0)