Docker介绍

11/27/2022

# 引言

# 什么是Docker

Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。

img

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级和可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

# 为什么要有Docker

Docker尚未流行之前,常用虚拟化技术通常是虚拟化一个操作系统,例如我们会Windows上装VM,然后在VM内通过Linux的镜像(.iso)文件和基础配置,虚拟化一个操作系统。但是使用虚拟机方式构建一个程序所需应用环境会导致消耗资源较大、耗时过多且容易产生冗余,例如VM虚拟化100个Linux,安装100个tomcat,那么无论在时间还是空间上都有较高的成本。Docker方式则仅构建Linux的内核(保障Linux基本运行),然后再在最小环境基础上构建应用程序所需runtime。Docker的资源是轻量级和细粒度,能够有效提高运维效率和成本。

其次在项目流程内,从开发到测试再到最后的部署,涉及到多个不同环境依赖。若它们之间出现一些版本差异或者环境冲突,将会提高应用程序的维护成本。而Docker能将开发的源码和所需依赖环境进行统一打包,十分便于在不同环境内进行平滑迁移,大大减少环境所造成维护成本。

因此Docker在程序运维和拓展方面具有十分重要的作用,是一个运维和后端开发的利器。

# Docker的作用

  • Web应用的自动化打包和发布
  • 自动化测试和持续集成、发布
  • 在服务器环境中部署和调整数据库或者其他后台应用

。。。

# 参考教程

  • docker官网:https://docs.docker.com/get-started/overview/
  • 菜鸟docker:https://www.runoob.com/docker/docker-tutorial.html
  • 尚硅谷docker:https://www.bilibili.com/video/BV1gr4y1U7CY?p=1&vd_source=d655f68de9959d3a411b0186523e3b46
Last Updated: 12/16/2022, 2:02:52 PM