docker好难用啊!为啥说它移植性好?

news/2025/1/15 22:39:57/

刚刚接触docker,真的好麻烦啊,不明白为什么要选择docker,我都搞了两天还在搭环境,又告诉我Windows版本过低不适配docker,转而在Ubuntu里装docker,然后MySQL、php、Nginx又得重新装一遍。。。好麻烦啊

1 用的人越多,越需傻瓜式操作

就不说docker了,以前有一次做项目,全国42个机构要安装,我做了很详细的文档,100页(根据各单位实际情况要求改ip,改端口,改路径盘符,改管理员密码,改虚拟机名称,更新各自的许可证等),自己试了好多次,确认没问题,最后一次全国范围的培训,看了下大家的情况,真心觉得技术参差不齐,最后决定发虚拟机:

  • 一个VMware的版本
  • 一个hyperv的版本

把文档缩成三页,七步。终于顺利完成。太香了!配置的人痛苦,接电话解决配置问题的人更痛苦!

2 文档真这么长???

nginx这些算框架、中间件,如果买你软件的人也是在你软件的基础上做二次开发,那1万页、几十万页的文档才是正常情况(大型企业级软件的使用手册就是这样)。

但如果买你软件是为了直接使用,那你就必须保证软件可以傻瓜式一键安装成功。如果每个项目的需求不同需要定制、裁剪,那正确做法应该是设置交付岗位,由专业的交付工程师根据合同要求来给客户安装硬件和软件,并通过验收测试。

3 显然没被环境毒打过

之前复现一篇论文,按照说明文档的要求配了无数遍的环境,发了无数封邮件给作者,前后历时大概一周,最后作者终于甩给我一个镜像,不到半小时就搞定了。当时我就觉得,要没有docker,我这辈子应该都弄不出来。

任何饱受配环境折磨的人最终都会由衷赞叹“docker 真香”。

可以通过直接看dockerfile 还可以知道自己搞的环境和作者搞的环境究竟哪里不同

4 真香定律

不知道你的身份角色。

  • 若是偏运维,你之后会明白的,等你的用户和领导要求你同一台机器上同时安装很多不同版本的php、安装不同版本的nginx时,你就知道麻烦了
  • 若是偏开发,你去求别人在服务器上安装依赖时就知道了,你青睐ubuntu而运维说服务器只能是centos时你就知道差异了

docker正是调和这个矛盾的利器。开发部门将软件以及软件所有的依赖全部封装到一个镜像里,爱用debian用debian,爱用alpine也可以, 爱装java11就尽情用。这些真不香么?

运维部分呢,只需要拿到镜像,设置好网络和服务器资源就可以了, 软件依赖再也与你无关,不香么?

5 总结

docker 其实本质就是一个跨平台安装包,新一代安装神器,非要上理论扯些容器,虚拟化啥的,反而搞的玄乎。


http://www.ppmy.cn/news/1073813.html

相关文章

【Spring Data JPA】JPA 常用查询函数

文章目录 前言函数查询表格 前言 函数查询的表格参考了官网的 2.7.3 版本的文档,JPA 的这种函数式查询方法改动不大,如果想知道更多的复杂查询,可以参考这篇文章 【Spring Data JPA】基于 JpaRepository 增删改查 官方文档地址 Spring Data…

spring中LocalDateTime 转成字符串的时候注意事项

ApiOperation("查询课程发布信息") ResponseBody GetMapping("/r/coursepublish/{courseId}") public CoursePublish getCoursepublish(PathVariable("courseId") Long courseId) { CoursePublish coursePublish coursePublishService.getC…

自用Eclipse配置记录

喜欢用eclipse写代码,由于现在的eclipse配置导出的功能缺失较多。这里开一帖把本人常用的配置记录一番,省得再到处找。 另:工作空间中有个.metadata 目录保存了相关的插件及配置,可以复制到其他空工作间中复用配置。 设置工作空间…

linux 发行版中在容器内访问热插拔 U 盘的分区内容

前言 在 UOS 如何实现自动将 U 盘挂载到指定目录中?这篇文章中,我描述了 UOS 自动挂载 U 盘到指定目录的方式,现有的发行版处理逻辑大致相同。 当挂载位置确定后,容器内的业务逻辑要访问 U 盘分区中的内容,看上去只需…

C++学习记录——삼십 智能指针

文章目录 1、为什么需要智能指针?2、内存泄漏3、智能指针的使用及原理1、RAII思想2、拷贝问题1、unique_ptr2、shared_ptr1、多线程2、循环引用3、定制删除器 1、为什么需要智能指针? 看一个场景 int div() {int a, b;cin >> a >> b;if (b…

软键盘弹出edittext在最下面

对应activity添加: android:windowSoftInputMode"adjustResize" 布局最外层RelativeLayout添加: android:fitsSystemWindows"true"

[Agent]-----MRKLAgentForChatModels组件开发

参考资料: https://python.langchain.com/docs/modules/agents/agent_types/react https://python.langchain.com/docs/modules/agents/how_to/custom_mrkl_agent https://python.langchain.com/docs/modules/agents/how_to/mrkl 该agent主要使用ReAct框架来决定操作…

代码随想录第四十九天|121. 买卖股票的最佳时机 、122.买卖股票的最佳时机II

121. 买卖股票的最佳时机 题目链接/文章讲解/视频讲解&#xff1a;https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BA.html 1.代码展示 //121.股票的最佳买卖时机 int maxProfit(vector<int>& p…