一、springboot 项目
1、新建一个springboot项目
2、对外提供一个访问接口
@RestController
public class TestController {
@GetMapping("")
public String test(){
return "考试任务服务";
}
}
3、在pom.xml中添加docker
<properties>
<java.version>1.8</java.version>
<!--properties节点中设置docker镜像的前缀“springboot”-->
<docker.image.prefix>springboot</docker.image.prefix>
</properties>
<!-- docker插件 -->
<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>
完整的 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/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.6.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.sinux</groupId>
<artifactId>examtaskservice</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>examtaskservice</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<!--properties节点中设置docker镜像的前缀“springboot”-->
<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-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker插件 -->
<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>
4、和pom.xml同级下创建Dockerfile
Ddockerfile内容如下:
FROM java:8
VOLUME /tmp
ADD examtaskservice-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
5、在application.yml 添加端口号
server:
port: 8880
6、将项目跑起来 ,看能不能访问。
7、成功后将项目打包
8、在target文件夹下将会生成jar包
二、Linux下操作 配置运行环境
eg : maven 、 jdk 、docker
注意:Docker运行,要求操作系统为64位,内核版本为3.10及以上。
查看命令:uname -r
1、使用xshell 新建会话 连接远程的服务器
2、安装jdk
a、在网上下载jdk8
下载的时候,他会要求你登陆。
b.将下载好的jdk-8u321-linux-x64.tar.gz直接拖拽到 usr/java文件夹中。
没有可以先创建 cd usr mkdir java
c.解压 jdk-8u321-linux-x64.tar.gz
tar -xzvf jdk-8u321-linux-x64.tar.gz
d.配置Java 环境变量
进入到文件中 vim /etc/profile
注: insert键是插入 esc :wq 保存并推出
内容:
JAVA_HOME=/usr/java/jdk1.8.0_321
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
source /etc/profile
e.查看版本
java -version
3、安装maven
a. wget下载。当然也可以向上面jdk的方式
wget https://mirrors.tuna.tsinghua.edu.cn/apache
/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
mv apache-maven-3.5.4 /usr/local/maven3
b.配置环境变量
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
c.刷新环境
source /etc/profile
d.查看版本 确保成功
mvn -version
4、安装 docker
apt-get install docker
docker version
三、部署
1、在usr/创建文件夹docker
cd usr
mkdir docker
2、将项目中的examtaskservice-0.0.1-SNAPSHOT.jar 和Dockerfile文件夹复制到docker文件夹中
docker run -d -p 8880:8880 docker
3、查看服务器ip地址
4、在windows环境中通过 192.168.1.212:8880 访问接口
四、docker push 到指定仓库 hubor镜像仓库
五、Linux 常用命令