63、64、65丨Docker和Docker Compose简介;容器镜像构建Dockerfile解析;Docker Compose服务部署文件剖析

  • 1 标准化打包:背后主要由容器镜像技术来实现
  • 2 隔离:主要是Linux Cgroups 和 Namespaces技术
  • 3 标准化部署:容器在软件应用和操作系统之间引入了一层抽象,保证部署时的环境一致性,也使大规模标准化部署称为可能

  • 为了进一步理解Docker,先来看一下操作系统和它的内核

  • 容器比较轻量,采用软件隔离
  • 虚拟机是一种强隔离机制

  • 容器主要是基于Linux内核的一些机制来实现的

  • 容器镜像可以认为是一个固话的操作系统
  • 采用分层组织方式,可以很方面的实现镜像层的重用
  • 读写层在容器提交的时候会固化成镜像层

  • Docker主要用于运行单容器应用,Docker Compose是一个用于定义和运行多容器应用的工具
  • 使用Docker Compose可以将多容器应用的部署架构规范在一个yml文件里面,比如,对于有比较复杂依赖的微服务应用可以把整个依赖关系、服务的部署架构规范在一个Compose的yml文件中
  • 可以使用docker-compose up一键的方式启动整个应用,也可以一键销毁整个应用
  • Docker Compose主要适用于本地测试环境,可以用来运行微服务快速的部署和测试,对于生产环境则建议使用Kubernetes等生产级的容器云平台



  • 这个Staffjoy微服务应用的主要应用形态是两种:1 Spring Boot应用程序; 2:两个React.js的单页应用;
  • 所以Dockerfile会分为两类,这里给了一个样例:Account服务的Dockerfile

  • MyAccount单页应用的样例,它构建镜像的步骤稍微复杂一点,采用了一种两阶段构建的技术
  • 因为单页应用的构建需要先生成静态资源,然后拷贝到Nginx中去

  • 在每一个Spring Boot应用程序里头都有一个Dockerfile
  • 在创建镜像之前需要先使用 mvn 进行构建,生成好对应服务的可运行包

posted @ 2020-03-30 16:21  bm小明  阅读(199)  评论(0编辑  收藏  举报