应用Docker部署
在项目的根目录下建立一个Dockerfile文件
因为 Spring Boot 框架打包的应用是一个包含依赖的 jar 文件,内嵌了 Tomcat 和 Jetty 支持,所以我们只需要使用包含 Java
的 Maven 镜像即可,不需要 Tomcat 镜像。
为了减少镜像大小,在执行 Maven 构建之后,清理了构建痕迹。
在 Dockerfile 文件的最后,使用 ENTRYPOINT 指令执行启动 Java 应用的操作。
构建 Docker 镜像
|
|
从镜像启动容器
|
|
完成部署:
URL访问,可通过docker ip查看应用的虚拟地址。
Docker Compose编排
Docker Compose是用于定义和组装运行多容器分布式应用的工具,
它提供一个简单的基于YAML语言的docker-compose.yml配置文件。 通常,我们使用docker定义和运行复杂的应用,
使用docker compose,在一个文件里定义多容器应用的启动顺序,起到服务编排的作用。
编写 docker-compose.yaml 文件
|
|
这里以MongoDB数据库提供服务的demo,在该文件中,我们定于了两个服务:
基于我们应用构建的 docker-demo-java-mongo 镜像,用来提供 Web 服务
基于 DaoCloud 提供的 MongoDB 镜像,提供存储服务
通过 links 为 web 关联 mongo 服务
启动 Docker Compose
docker-compose up