本文介紹了使用docker部署 spring-boot maven應用,分享給大家,具體如下:
部署過程分為以下幾個步驟:
- 創建一個簡單的spring-boot應用
- 打包運行應用
- 容器化應用
- 在pom文件中添加docker支持
- 創建docker鏡像
- 運行docker容器
- 查看正在運行的容器
- 啟動/關閉/重啟/刪除docker容器
1. 創建一個簡單的spring-boot應用
在intellij idea中file->new->project:
然后點next->finish.
2. 打包運行應用
pom.xml中添加依賴:
1
2
3
4
|
< dependency > < groupid >org.springframework.boot</ groupid > < artifactid >spring-boot-starter-web</ artifactid > </ dependency > |
添加一個控制器:
1
2
3
4
5
6
7
|
@controller public class helloworld{ @getmapping ( "/hello" ) public void helloworld(httpservletresponse response) throws ioexception { response.getwriter().write( "hello spring-boot" ); } } |
運行項目,訪問: http://localhost:8080/hello,如果出現: hello spring-boot 第二步完成.
3. 容器化應用
在項目目錄創建dockerfile文件: src/main/docker/dockerfile(沒有后綴),內容如下:
1
2
3
4
5
6
|
from frolvlad/alpine-oraclejdk8:slim volume /tmp add demo-0.0.1-snapshot.jar app.jar run sh -c 'touch /app.jar' env java_opts="" entrypoint [ "sh", "-c", "java $java_opts -djava.security.egd=file:/dev/./urandom -jar /app.jar" ] |
其中 demo-0.0.1-snapshot.jar 是項目打包后 /target/ 里面的文件名
4. 在pom文件中添加docker支持
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
< properties > < docker.image.prefix >ramer</ docker.image.prefix > </ properties > < build > < plugins > < plugin > < groupid >com.spotify</ groupid > < artifactid >docker-maven-plugin</ artifactid > < version >0.4.11</ 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 > |
5. 創建docker鏡像
cmd進入到當前目錄:
1
|
cd z: /desktop/springboot-demo |
打包,創建鏡像:
1
|
mvn package -dmaven. test .skip= true docker:build |
注意: 請確保maven已添加到path中;并且已安裝docker,如果沒有安裝,請訪問: https://www.docker.com/community-edition#/download 下載合適的版本.
6. 運行docker容器
1
2
|
##最好添加--name參數 docker run --name=springboot-docker-demo -p 8080:8080 -t ramer /demo |
在瀏覽器訪問: http://localhost:8080/hello
7. 查看正在運行的容器
1
|
cmd: docker ps |
8. 啟動/關閉/重啟/刪除docker容器
1
|
cmd: docker start /stop/restart/rm container_id /name |
其中:
container_id: 是容器id,執行 docker ps 可查看
name: 是容器的名稱,也就是docker run –name后面的名字
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://blog.csdn.net/u011699931/article/details/70226504