Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker image 是用于运行容器化进程的方案,在本文中,我们将构建一个简单的 Spring Boot 应用程序。
首先新建一个简单的项目,只包含一个web组件,如下:
在项目中新建一个简单的接口,如下:
启动项目,测试接口访问:
上面一个简单的项目和接口完成了。接下来配置和docker有关的内容。首先配置一个pom里面的插件:
Spotify 的 docker-maven-plugin 插件是用于构建 Maven 的 Docker Image
1)imageName指定了镜像的名字,本例为 springboot/15-spring-docker
2)dockerDirectory指定 Dockerfile 的位置
3)resources是指那些需要和 Dockerfile 放在一起,在构建镜像时使用的文件,一般应用 jar 包需要纳入。
接下来创建文件 src/main/docker/Dockerfile:
FROM指令指明了当前镜像继承的基镜像,编译当前镜像时会自动下载基镜像。
MAINTAINER 指令指明了当前镜像的作者。
ADD指令是从当前工作目录复制文件到镜像目录中去。
EXPOSE指令指明了镜像运行时的容器必须监听指定的端口。
ENTRYPOINT指令可让容器像一个可执行程序一样运行,这样镜像运行时可以像软件一样接收参数。
接下来在项目根目录下执行命令:
mvn package docker:build
注意:执行上面的环境需要有maven和docker的安装环境,建议可以把代码拉到linux上面直接执行命令:
接下来,在docker环境下查看镜像列表,发现镜像已经成功创建:
最后创建一个容器,测试镜像是否成功:
docker run -dit -p 8015:8015 springboot/15-spring-docker
运行 docker logs 命令,查看容器启动日志,
可以看到,启动成功。
访问服务器映射的端口:
可以看到容器用docker部署成功!
代码地址: https://gitee.com/blueses/spring-boot-demo
网友评论