1. 容器和Docker

1. 什么是容器化

日趋复杂的运维开发环境, 对虚拟服务器及应用服务的要求更加多元化, 我们需要更加容易扩展, 性能优越, 方便监控的管理服务, 容器化应用, 容器化运维应运而生。

容器化是将应用程序或服务, 其依赖及其配置(抽象化为部署清单文件) 一起打包为容器映像的一种软件开发方法。

docker容器部署优势 docker容器化部署性能怎么样_运维


软件容器充当软件部署的标准单元, 其中可以包含不同的代码和依赖项。 按照这种方式容器化软件, 开发人员只需进行极少修改或不修改, 即可部署到不同环境

容器化应用程序在容器主机上运行, 而容器主机在OS(Linux或Windows)上运行, 因此, 容器的占用比虚拟机VM映像小得多。

容器化特点:

  • 一致的运行环境
  • 可伸缩性 方便移植
  • 隔离性好

2. 什么是Docker
GO语言开发的应用容器引擎, 基于容器化, 沙箱机制的应用部署技术。可适用于自动化测试, 打包, 持续集成和发布应用程序等场景。包括阿里云, 亚马逊在内的云计算服务商都采用了docker来打造serverless服务平台, 它不仅可以部署项目, 还可以用于数据库搭建, nginx服务搭建, nodejs,php等编程语言环境搭建

Docker中三个重要概念:
镜像(image):分片的(只读的)文件系统, 由Dockerfile创建
独立,易扩展,更效率
容器(container):由Docker进程创建和管理的:文件系统 + 系统资源 + 网络配置 + 日志管理 docker是docker镜像的运行环境
仓库(registry):用来远端存储docker镜像
版本控制,变更管理,为持续集成和快速部署提供便利


3. Docker vs 虚拟机

docker容器部署优势 docker容器化部署性能怎么样_运维_02


docker容器部署优势 docker容器化部署性能怎么样_运维_03


4. Docker工作原理

docker容器部署优势 docker容器化部署性能怎么样_运维_04


docker容器部署优势 docker容器化部署性能怎么样_docker容器部署优势_05

2. 常见应用场景

  1. 快速部署
docker run -d --name mysql -test -e MYSQL_ROOT_PASSWORD=123456 mysql
  1. 隔离应用
  2. docker容器部署优势 docker容器化部署性能怎么样_docker容器部署优势_06

  3. 提高开发效率
  4. docker容器部署优势 docker容器化部署性能怎么样_docker_07

  5. 版本控制
    Docker容器还可以像git仓库一样, 可以让提交变更到docker镜像中并通过不同版本管理
  6. 简化配置,整合资源
  7. DevOps流程