VirtualBox 设置 Centos7的外部访问

然后设置设置 /ect/sysconfig/network-scripts/ifcfg-enp0s3 将其中的ONBOOT设置成yes

最后重启网卡
systemctl restart network
在IDEA上部署springboot(java) 程序到docker上
1.在服务器上安装docker
https://www.w3cschool.cn/docker/centos-docker-install.html
2.配置远程dcoker可访问
https://blog.youkuaiyun.com/u012946310/article/details/82315302
3.IDEA上安装docker插件

4.IDEA连接docker

5.创建一个简单的springboot项目,将项目发布到服务器上docker上
6.创建一个Dockerfile文件,用来创建我们的镜像,它会上传,然后根据Dockerfile创建镜像,然后创建一个容器运行这个程序
7.IDEA中设置Docker中的Dockerfile
在java项目中的根目录下创建Dockerfile文件

然后创建docker应用,在应用中设置docker的Dockerfile文件,设置镜像名字和配置docker的映射端口,从而进行自定义镜像的创建和应用的运行

控制器中写的内容

演示效果
本地的内容:

服务器上docker中运行的应用的内容
结论:两者效果一致,故springboot部署到服务器效果成功
Dockerfile文件
FROM java:8 VOLUME /tmp ADD /target/demo-0.0.1-SNAPSHOT.jar test.jar EXPOSE 8088 ENTRYPOINT ["java","-jar","/test.jar"] |

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 http://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.1.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<docker.image.prefix>tanfeng</docker.image.prefix> <!-- 在docker运行时要用的,只是一个前缀而已,就像包名一样,可自己任意定义此名称 -->
<java.version>1.8</java.version>
</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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker 插件 begin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- docker私服的地址 -->
<dockerHost>http://192.168.31.216:2375</dockerHost>
<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>
|
其中的docker插件使用此种方式去部署,可不用添加docker插件,
添加这种插件是去自己打包进行安装
其中执行的命令有如下:
3.3 执行命令
mvn clean package docker:build 只执行 build 操作
mvn clean package docker:build -DpushImage 执行 build 完成后 push 镜像
mvn clean package docker:build -DpushImageTag 执行 build 并 push 指定 tag 的镜像
注意:这里必须指定至少一个 imageTag,它可以配置到 POM 中,也可以在命令行指定。命令行指定如下:mvn clean package docker:build -DpushImageTags -DdockerImageTags=imageTag_1 -DdockerImageTags=imageTag_2,POM 文件中指定配置如下:
<build> <plugins> ... <plugin> <configuration> ... <imageTags> <imageTag>imageTag_1</imageTag> <imageTag>imageTag_2</imageTag> </imageTags> </configuration> </plugin> ... </plugins> </build> |
学习视频地址:https://www.bilibili.com/video/av40407605?from=search&seid=9466687893171533027