本文介绍了使用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