您的位置:首页 > 运维架构 > Docker

使用Docker部署 spring-boot maven应用

2017-12-03 15:01 651 查看


使用Docker部署 spring-boot maven应用

部署过程分为以下几个步骤:
创建一个简单的spring-boot应用
打包运行应用
容器化应用
在pom文件中添加docker支持
创建docker镜像
运行docker容器
查看正在运行的容器
启动/关闭/重启/删除docker容器


1. 创建一个简单的spring-boot应用

在IntelliJ IDEA中File->New->Project: 


 


 

然后点Next->Finish.


2. 打包运行应用

pom.xml中添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
1
2
3
4

添加一个控制器:
@Controller
public class HelloWorld{
@GetMapping("/hello")
public void helloworld(HttpServletResponse response) throws IOException {
response.getWriter().write("Hello Spring-boot");
}
}
1
2
3
4
5
6
7

运行项目,访问: http://localhost:8080/hello,如果出现: 
Hello
Spring-boot
 第二步完成.


3. 容器化应用

在项目目录创建Dockerfile文件: src/main/docker/Dockerfile(没有后缀),内容如下:
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" ]
1
2
3
4
5
6

其中 
demo-0.0.1-SNAPSHOT.jar
 是项目打包后 
/target/
 里面的文件名


4. 在pom文件中添加docker支持

<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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23


5. 创建docker镜像

cmd进入到当前目录:
cd Z:/Desktop/springboot-demo
1

打包,创建镜像:
mvn package -Dmaven.test.skip=true docker:build
1

注意: 请确保maven已添加到path中;并且已安装docker,如果没有安装,请访问: https://www.docker.com/community-edition#/download 下载合适的版本.


6. 运行docker容器

##最好添加--name参数
docker run --name=springboot-docker-demo -p 8080:8080 -t ramer/demo
1
2

在浏览器访问: http://localhost:8080/hello


7. 查看正在运行的容器

cmd: 
docker ps


8. 启动/关闭/重启/删除docker容器

cmd: 
docker start/stop/restart/rm CONTAINER_ID/NAME
 

其中: 

CONTAINER_ID: 是容器id,执行 
docker ps
 可查看 

NAME: 是容器的名称,也就是docker run –name后面的名字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: