這篇文章主要為大家展示了“Docker如何部署springboot項目”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Docker如何部署springboot項目”這篇文章吧。
創建項目
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.1.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.topcheer</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>topcheer</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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</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>啟動類
@SpringBootApplication
@Controller
public class DockerApplication {
public static void main(String[] args) {
SpringApplication.run(DockerApplication.class, args);
}
@RequestMapping("/user/find")
@ResponseBody
public Object findUser(){
Map<String, String > map = new HashMap<>();
map.put("name", "xdclass.net");
map.put("age","28");
return map;
}
}由于harbor沒有安裝,無法把鏡像推到私有鏡像倉庫上,所以先手動執行。
mvn install,然后把dockerfile和jar包放到一起
[root@topcheer docker]# ll 總用量 16452 -rw-r--r-- 1 root root 168 10月 28 14:24 Dockerfile -rw-r--r-- 1 root root 16842487 10月 28 14:17 docker.jar [root@topcheer docker]# cat Dockerfile FROM java:8 VOLUME /tmp ADD docker.jar app.jar RUN bash -c 'touch /app.jar' EXPOSE 8080 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] [root@topcheer docker]#
編譯成鏡像并啟動
[root@topcheer docker]# docker build -f Dockerfile -t boot . Sending build context to Docker daemon 16.85 MB Step 1/6 : FROM java:8 ---> d23bdf5b1b1b Step 2/6 : VOLUME /tmp ---> Running in 35037b5a7791 ---> e96b96457c78 Removing intermediate container 35037b5a7791 Step 3/6 : ADD docker.jar app.jar ---> 06bcfdcff437 Removing intermediate container 2e2e5e559ae4 Step 4/6 : RUN bash -c 'touch /app.jar' ---> Running in 16441febc271 ---> 1779caa23f77 Removing intermediate container 16441febc271 Step 5/6 : EXPOSE 8080 ---> Running in 14dd752ce247 ---> 505044f5cdf8 Removing intermediate container 14dd752ce247 Step 6/6 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar ---> Running in 832e4ca95dd2 ---> 1cb7bd139478 Removing intermediate container 832e4ca95dd2 Successfully built 1cb7bd139478 [root@topcheer docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE boot latest 1cb7bd139478 About a minute ago 677 MB registry.cn-hangzhou.aliyuncs.com/dalianpai/topcheer zipkin 17c2bb09f482 6 days ago 154 MB docker.io/mysql latest c8ee894bd2bd 11 days ago 456 MB elasticsearch latest 874179f19603 4 weeks ago 771 MB docker.io/nacos/nacos-server latest a4229ac5cc19 4 weeks ago 710 MB springbootdemo4docker latest cd13bc7f56a0 5 weeks ago 678 MB docker.io/tomcat latest ee48881b3e82 6 weeks ago 506 MB docker.io/rabbitmq latest a00bc560660a 6 weeks ago 147 MB docker.io/centos latest 67fa590cfc1c 2 months ago 202 MB docker.io/redis latest f7302e4ab3a8 2 months ago 98.2 MB docker.io/rabbitmq 3.7.16-management 3f92e6354d11 3 months ago 177 MB docker.io/elasticsearch 6.8.0 d0b291d7093b 5 months ago 895 MB docker.io/hello-world latest fce289e99eb9 10 months ago 1.84 kB docker.io/java 8 d23bdf5b1b1b 2 years ago 643 MB [root@topcheer docker]# docker run -d -p 8080:8080 boot 882ff5209aa2f40972a914b901750a50320faea65100b33e57b9c8a41533ca0b
測試

以上是“Docker如何部署springboot項目”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。