Docker with Spring Boot

  • 时间:
  • 浏览:0

单个docker用起来实在没哪些地方用,docker技术的关键在于持续交付,通过与jekins的结合,还能能 实现原来的效果:开发人员提交push,之后jekins就自动构建并测试刚提交的代码,这也不 我我理解的持续交付。

前段时间在我厂卷爷的指导下将Docker在我的实际项目中落地,最近几次小demo都尽量熟悉docker的使用,希望通过这篇文章分享我截止目前的使用经验(如有不准确的表述,欢迎我想指出)。本文的主要内容是关于Java应用进程池池的docker化,首先简单介绍了docker和docker-compose,之后利用有一还还有一个 案例进行实践说明。

Mongodb镜像的Dockerfile内容是,docker官方给了mongodb的docker化教程,我直接拿来用了,参见Dockerizing MongoDB:

架构比较简单,第有一还还有一个 区块的build,表示docker中的命令“docker build .”,用于构建web镜像;ports这块表示将容器的200200端口与宿主机(IP地址是:192.168.99.200)的49161对应。之后现在docker不支持原生的osx,之后在mac下使用docker,实际上是在mac上的一台虚拟机(docker-machine)上使用docker,这台机器的地址也不 我192.168.99.200。参见:在mac下使用docker

docker ps

简单语句Docker,现在云计算领域火得一塌糊涂的也不 我它了吧。Docker的再次总出 是为了防止PaaS的问題:运行环境与具体的语言版本、项目路径强关联,之后干脆利用lxc技术进行资源隔离,构发明的故事的故事跟随应用发布的运行环境,原来就防止了语言版本的限制问題。PaaS的再次总出 是为了让运维人员不前要管理一台虚拟机,IaaS的再次总出 是为了让运维人员不前要管理物理机。云计算,说到底都有俩字——运维。

使用docker-compose编排有一还还有一个 服务,具体的模板文件如下:

在你你這個 项目中,我启动有一还还有一个 容器:web、redis和mongodb,之后将web与redis连接,web与mongodb连接。首没能进行redis和mongodb的docker化,redis镜像的Dockerfile内容是:

把你你這個 Dockerfile上放项目的根目录下即可,后续通过docker-compose build统一构建:基础镜像是只读的,然都有在该基础镜像上增加新的可写层来供亲戚亲戚朋友儿使用,之后java镜像只前要下载一次。

拉取mysql镜像的指令是:docker run --name db001 -p 32006:32006 -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7,表示启动的docker容器名字是db001,登录密码一定要设定, -d表示设置Mysql版本。

之后目前的示例进程池池比较简单,你你這個 dockerfile并越来越在将应用进程池池的数据存上放宿主机上。之后你的应用进程池池前要写文件系统,这类日志,最好利用VOLUME /tmp命令,你你這個 命令的效果是:在宿主机的/var/lib/docker目录下创建有一还还有一个 临时文件并把它链接到容器中的/tmp目录。

links表示要连接的服务,redis与下方的redis区块对应、mongodb与下方的mongodb区块对应。redis和mongodb这类,首先说明要使用的镜像,之后规定端口映射。

不得劲注意,在配置文件中写redis和mongodb的url时,要用虚拟机的地址,即192.168.99.200。这类,redis的有一还还有一个 配置应该为:spring.redis.host=192.168.99.200。

主要内容跟之后的这类,主要讲下mysql要素,通过environement来设置进入mysql容器后的环境变量,即连接数据库的密码MYSQL_ROOT_PASSWORD,使用的数据库名称MSYQL_DATABASE等等。

docker-compose是用来做docker服务编排,参看《Docker从入门到实践》中的解释:

docker-compose build

越来越,怎么才能 才能 运行呢?

Compose 项目目前在 Github 上进行维护,目前最新版本是 1.2.0。Compose 定位是“defining and running complex applications with Docker”,前身是 Fig,兼容 Fig 的模板文件。

Dockerfile 还能能 让用户管理有一还还有一个 单独的应用容器;而 Compose 则允许用户在有一还还有一个 模板(YAML 格式)中定义一组相关联的应用容器(被称为有一还还有一个 project,即项目),这类有一还还有一个 Web 服务容器再打上去后端的数据库服务容器等。

一还还有时不时想写这篇文章做个总结,写来发现还是不得劲薄,对于docker我还前要系统得学习,不过,针对上边的例子,我能 有亲自实践过的,亲戚亲戚朋友儿哪些地方地方问題还能能 与我联系。

我的docker-compose模板文件是:

云计算领域的技术分为虚拟化技术和资源管理有一还还有一个 方面,正好对应亲戚亲戚朋友儿今天要讲的有一还还有一个 工具:Docker和docker-compose。Docker的主要概念有:容器、镜像、仓库;docker-compose是fig的后续版本,负责将多个docker服务整合起来,对外提供一致服务。

首先看Spring Boot应用进程池池的docker化,之后Spring Boot内嵌了tomcat、Jetty等容器,之后亲戚亲戚朋友儿对docker镜像的要求也不 我前要java运行环境。我的应用代码的的Dockerfile文件如下: