Docker的优缺点有哪些?

简介: 对比一下,同样要安装运行一个软件,用Docker和不用Docker的差异:下载安装:Docker:pull一个image下来就可以了。包管理:用发行版自带命令,直接apt-get或者yum install。但很多时候,需要同时下载安装依赖的库,不过发行版的包管理系统通常会帮你搞定——前提是不要跟你现在的包发生冲突,否则有你搞的。源码编译:发行版仓库里面的有可能版本有点老,你需要用最新版的功能。怎么办?去官网/Github下载源码,编译安装——等等,不要说的那么轻巧,你有对应的编译环境么?没有的话要先安装配置好编译环境。你知道用什么命令什么参数编译么?你装好编译依赖的底层库了么?

对比一下,同样要安装运行一个软件,用Docker和不用Docker的差异:

下载安装:

Docker:pull一个image下来就可以了。
包管理:用发行版自带命令,直接apt-get或者yum install。但很多时候,需要同时下载安装依赖的库,不过发行版的包管理系统通常会帮你搞定——前提是不要跟你现在的包发生冲突,否则有你搞的。
源码编译:发行版仓库里面的有可能版本有点老,你需要用最新版的功能。怎么办?去官网/Github下载源码,编译安装——等等,不要说的那么轻巧,你有对应的编译环境么?没有的话要先安装配置好编译环境。你知道用什么命令什么参数编译么?你装好编译依赖的底层库了么?底层库的版本符合要求么?不符合要求的话能更换成符合要求的版本么?换成符合要求的版本后你现在跑的应用会不会出问题?
小结:Docker的下载安装最简单,包管理只要不碰到问题也很简单,源码编译最麻烦。

配置:

Docker:参考文档,写好配置文件
包管理:参考文档,写好配置文件
源码编译:参考文档,写好配置文件
小结:众生平等

运行:

Docker:一条命令,docker run,不过参数要写好,通常注意几个地方就行:重启设定、挂载配置文件目录和数据目录、映射端口、入口命令/参数。当然,有的应用的镜像做得比较复杂的,还需要另外提供游戏账号买号环境变量。这些一般做的比较规范的镜像文档都有文档和例子,抄过来改一下就是了。
包管理:直接运行就好,顶多启用一下服务。
源码编译:直接运行就好,顶多启用一下服务。
小结:Docker比较麻烦点。

修改配置:

Docker:参考文档,改配置。重启容器或者停止容器后删除,重新运行容器。
包管理:参考文档,改配置。杀进程,重新运行或者重启服务。
源码编译:参考文档,改配置。杀进程,重新运行或者重启服务。
小结:众生平等

升级版本:

Docker:pull image更新镜像,停止容器后删除,重新运行容器。
包管理:用发行版自带命令,直接apt-get update或者yum update。重新运行或者重启服务。可能碰到和下载安装相同的问题。
源码编译:下载新版,编译安装。重新运行或者重启服务。可能碰到和下载安装相同的问题。
小结:众生平等

最后总结
似乎Docker的下载安装比较简单,但运行比较麻烦一点?如果你只需要安装运行一个应用的话的确是,但如果你需要安装和跑多个应用的话——例如全套web server+php+数据库,docker你搞通一个应用,再多N个应用其实全都是一样的,改几个参数就是了。但前提是搞明白了docker运行命令里面的参数的用途,如果只是照着网上教程贴命令,不知道为什么这个参数用这个值,那的确是很麻烦。

而下载安装/升级版本这两个步骤,包管理碰不到问题是很方便,只是万一碰到问题的话,每一个应用需要的解决方案通常是不一样的,每一个碰到问题的应用,或者一个应用不同版本碰到不同的问题,你都要去找资料找文档甚至去社区求助来解决。甚至如果发行版仓库里面的包版本太旧没有你需要的功能,你将不得不面对更复杂的源码编译安装。Docker的优点就是,你不会碰到这样的情况。

目录
相关文章
|
2月前
|
存储 持续交付 虚拟化
Docker与VMWare优缺点
【10月更文挑战第18天】Docker与VMWare优缺点
|
3月前
|
运维 负载均衡 安全
介绍一下Docker的优缺点
介绍一下Docker的优缺点
203 4
|
存储 Ubuntu Linux
Docker容器简介、优缺点与安装
Docker容器简介、优缺点与安装
|
数据可视化 程序员 Docker
你在什么时候觉的自己的技术成长很快;低代码在实际开发中的效率到底怎么样;Docker 的优缺点有哪些|极客观点
你在什么时候觉的自己的技术成长很快;低代码在实际开发中的效率到底怎么样;Docker 的优缺点有哪些|极客观点
114 0
|
Kubernetes Linux 虚拟化
《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——第1章 使用Docker对应用进行容器化 1.1了解容器化应用的优缺点
本书不仅介绍什么是Docker以及Docker的工作方式,还揭示了特定用途下扩展Docker的若干方法。尽管一个容器的创建和部署是很简单的,但要让多个容器协同工作、访问其他容器的资源,以及访问运行容器的宿主机的资源,则需要更高的复杂性。本书给出了几种创建和部署这些复杂容器集的不同方法。
2575 0
|
15天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
2天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
3天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
23 6
|
3天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
13 5