作者:Warm and new1、引言1.1 Docker是什么Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护 。
cnblogs.com/peng104/p/10296717.html
Docker 使用 google 公司推出的 Go 语言 进行开发实现 。
docker是linux容器的一种封装,提供简单易用的容器使用接口 。它是最流行的Linux容器解决方案 。
docker的接口相当简单,用户可以方便的创建、销毁容器 。
【两小时入门 Docker】docker将应用程序与程序的依赖,打包在一个文件里面 。运行这个文件就会生成一个虚拟容器 。
程序运行在虚拟容器里,如同在真实物理机上运行一样,有了docker,就不用担心环境问题了 。
1.2 应用场景web应用的自动化打包和发布
自动化测试和持续集成、发布
在服务型环境中部署和调整数据库或其他应用
1.3 区别1、物理机

文章插图
2、虚拟机

文章插图
3、docker容器

文章插图
1.4 Docker的三大概念及优势
- 镜像 image
- 容器 container
- 仓库 repository
1、更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统 资源的利用率更高 。
无论是应用执行速度、内存损耗或者文件存储速度,都要比传 统虚拟机技术更高效 。因此,相比虚拟机技术,一个相同配置的主机,往往可以运 行更多数量的应用 。
2、更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接 运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启 动时间 。大大的节约了开发、测试、部署的时间 。
3、一致的运行环境
开发过程中一个常见的问题是环境一致性问题 。由于开发环境、测试环境、生产环 境不一致,导致有些 bug 并未在开发过程中被发现 。
而 Docker 的镜像提供了除内 核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 “这段代码 在我机器上没问题啊” 这类问题 。
4、持续交付和部署
对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意 地方正常运行 。
使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署 。开发人员 可以通过 Dockerfile 来进行镜像构建,并结合持续集成(Continuous Integration) 系 统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(Continuous Delivery/Deployment) 系统进行自动部署 。
而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环 境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像 。
5、更轻松的迁移
由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易 。Docker 可以在 很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运 行结果是一致的 。
因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一 个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况 。
推荐阅读
- Redis快速入门,学会这15点
- 十一 网络编程懒人入门:一文读懂什么是IPv6
- 让你快速入门国际象棋 国际象棋入门
- Docker常用镜像安装:MySql Redis GitLab maven私服等
- 计算机网络安全,从入门到入狱
- 常见应用部署 docker:docker部署nginx
- API网关:API 网关从入门到放弃
- 如何以非root用户运行Docker容器
- Python+Pycharm+PyQT5可视化程序设计入门
- 黑客基础入门,如何利用文件上传执行xss攻击!
