docker最佳实践-docker使用培训

时间:2024-05-16 03:59:10
【文件属性】:

文件名称:docker最佳实践-docker使用培训

文件大小:747KB

文件格式:PPT

更新时间:2024-05-16 03:59:10

docker

九、docker最佳实践 微服务、单一职责 整体应用按照业务功能或DDD来划分服务,服务职责单一化,一个容器只能运行一个服务。中间件如nginx、mysql等也需单独容器。 比如物联网后端服务由6个工程组成,此时就需镜像制作完毕后,通过docker push到部门镜像仓库,镜像需tag相应的版本号以区分是开发内测镜像、准出测试镜像、还是生产镜像 要有6个容器。当然这样需要6个jvm,似乎内存浪费了,但相比塞在同一个tomcat里,优势: 启动更快;服务隔离,互不影响;更容易水平扩展;调整jvm参数(或通过docker调整),负荷重的服务内存调大,负荷小的服务内存调小 Dockerfile 基础镜像使用docker官方镜像。以mariadb为例,网址是https://hub.docker.com/_/mariadb/。另外由于法律原因,目前docker官方只有open jdk而不是oracle jdk,因此我们使用anapsix/alpine-java:8_jdk_unlimited 为减小部署包体积,尽可能使用官方的alpine镜像(mariadb和mysql就没有alpine镜像)。docker容器的运行环境一般是某个linux发行版,而alpine linux只有5MB。 RUN命令若有多个操作,使用&&来连接,减少镜像层级 镜像需包含服务的所有文件,以形成此服务的闭环。Web应用包括jar和配置文件;数据库包括初始化脚本 镜像制作完毕后,通过docker push到部门镜像仓库,镜像名必须有项目名前缀,需tag相应的build号。例如wiac/mariadb:1.00_build20170921(流程待定)


网友评论