最近学习了一段时间 Docker,发现真是个好东西。比 Java 靠谱,真正一次构建,到处乱跑。
镜像容器管理,省去了好多配置环境的工作。
想问问各位大佬们平时在项目中用的多吗? 生产环境都用这个了吗?还是只是用来本地开发环境的。
Docker 入门的一些小知识: http://h5ip.cn/8XPO
![]() | 1 xiaochen2018 OP 求各位大佬推荐 Docker 进阶的书籍和课程 |
2 glacer 2018-11-07 11:23:20 +08:00 ![]() docker 比 Java 靠谱又是什么鬼 |
![]() | 3 Phariel 2018-11-07 11:25:03 +08:00 via iPhone ![]() 你第一句话就暴露了你的水平 |
![]() | 4 xiaochen2018 OP ![]() @glacer Java 不是 write once,run everyone 嘛。哈哈 |
![]() | 5 xiaochen2018 OP @Phariel Java 不是 write once,run everyone 嘛。 |
![]() | 6 maichael 2018-11-07 11:26:45 +08:00 你在 Windows 折腾过 docker 吗? |
![]() | 7 xiaochen2018 OP @maichael 没有啊,都在 Ubuntu 和 MacOS 呢 |
![]() | 8 zjsxwc 2018-11-07 11:27:59 +08:00 via Android ![]() 铁锅比香肠好吃? |
![]() | 9 xiaochen2018 OP @zjsxwc 没有好的铁锅,做不好吃哈哈。求大佬指导 |
![]() | 11 xiaochen2018 OP @fumichael 哈哈哈哈 |
![]() | 12 xiaochen2018 OP 各位老哥们,能不能正面回答下问题啊,正式环境大家都用 Docker 吗? |
![]() | 13 jmc891205 2018-11-07 11:47:31 +08:00 ![]() |
![]() | 14 xiaoyaoking 2018-11-07 11:49:46 +08:00 via Android 编译环境用 docker,生产环境,本地小项目是跑过还挺稳定的。真正涉及业务的还没跑过。 |
![]() | 15 hasbug 2018-11-07 11:50:58 +08:00 学不懂 |
16 boris1993 2018-11-07 11:53:38 +08:00 via Android 你的英语水平............. everyone - 所有人 everywhere - 任何地方 还比 Java 靠谱.......这俩根本就不是一类东西好吗喂! |
19 fuxiaohei 2018-11-07 11:57:41 +08:00 你需要找一些文章先看一遍 docker 生态,已经很健全了。 大厂有大规模容器使用,不是什么新鲜的技术了。 |
![]() | 用了 docker,解决了我 python 跑 web 一大痛点。顺便吐槽下,python 有跨平台和版本兼容吗??? |
![]() | 21 jjxh 2018-11-07 12:02:50 +08:00 #17 这个翻译满分 |
22 Seanfuck 2018-11-07 12:06:02 +08:00 @xiaochen2018 我厂是用的,全部应用都用。 |
![]() | 23 des 2018-11-07 12:08:36 +08:00 via Android java 是一次编译,到处调试 |
![]() | 24 Mac 2018-11-07 12:09:19 +08:00 via Android 楼主的意思是社区比开发商靠谱…? |
25 huclengyue 2018-11-07 12:10:11 +08:00 via Android docker 跟 java 有什么关系。。 |
![]() | 26 thet 2018-11-07 12:37:41 +08:00 via Android 业务全部 dockerize |
![]() | 29 xiaochen2018 OP @hatsuyuki 哈哈哈,见仁见智 |
![]() | 30 xiaochen2018 OP @thet 微服务分布式离不开了吧 |
![]() | 31 xiaochen2018 OP @boris1993 哈哈哈 看走眼了,百度输入法智能提醒 |
32 xpresslink 2018-11-07 12:52:56 +08:00 现在在生产环境用的是很普遍的,通常互联网公司都在用。 弹性资源占用是很大优势,需要持续集成快速迭代的项目通常都容器化部署。 |
![]() | 33 yx1989 2018-11-07 12:53:27 +08:00 在线业务全部 docker 化 |
![]() | 34 xiaochen2018 OP @yx1989 好的呢,谢谢老哥 |
![]() | 35 xiaochen2018 OP @xpresslink 谢谢,领教了 |
36 zzzcx 2018-11-07 12:57:02 +08:00 不仅仅是 docker,还用 k8s。。。 |
![]() | 37 Perry 2018-11-07 12:59:56 +08:00 via iPhone 生产环境还得靠 k8s |
![]() | 38 xiaochen2018 OP @zzzcx 是的呢,最近也在看 |
![]() | 39 xiaochen2018 OP @Perry 谢谢,领教了 |
![]() | 41 lhx2008 2018-11-07 13:07:57 +08:00 via Android docker 在 win 上面就算了。。java 倒没啥事 |
![]() | 42 xiaochen2018 OP @acoin 哈哈,没关系必须要有自嘲精神。没这么厚的脸皮我发毛帖子 |
43 acoin 2018-11-07 13:41:31 +08:00 @xiaochen2018 可以 |
![]() | 44 iyaozhen 2018-11-07 13:48:01 +08:00 有用,但是小问题比较多,对开发者有一定要求,还在吃螃蟹 |
![]() | 45 lmdtx 2018-11-07 14:04:32 +08:00 再用 docker swarm |
![]() | 46 yuanfnadi 2018-11-07 14:07:18 +08:00 你知道 Mac 下面的 docker 其实是装了一个虚拟机么。 |
![]() | 47 xixijun 2018-11-07 14:10:36 +08:00 生产环境用的 k8s / docker-compose |
![]() | 48 starsky007 2018-11-07 15:03:15 +08:00 via Android ![]() 人家不懂来问问,何必抓住一个小错不放呢,也不帮忙解答一下,阴阳怪气的 |
![]() | 49 vanishcode 2018-11-07 15:06:44 +08:00 via Android 都是 k8s 咯 |
![]() | 50 guoyuchuan 2018-11-07 15:08:39 +08:00 使用的人越来越多了 |
![]() | 51 xiaochen2018 OP @starsky007 真心谢谢老哥了!感谢 |
![]() | 52 xiaochen2018 OP @xixijun 是啊,Docker-compose 有用的。看来要学学 k8s |
53 acoin 2018-11-07 15:21:53 +08:00 @xiaochen2018 Docker-compose 没法用集群吧 生产不应该是 swarm+stack 么 |
54 Dzer0 2018-11-07 15:41:45 +08:00 kubernetes 了解一下,可以上生产。 |
![]() | 55 mosesyou 2018-11-07 15:50:40 +08:00 用的,我们还在 k8s 上层搭建自己的云平台 |
56 puperSB 2018-11-07 16:31:46 +08:00 公司的大业务都上的 docker,bat 也有很成熟的方案。集群不一定用 k8s,swarm 也是可以尝试的 |
57 znood 2018-11-07 16:46:07 +08:00 via iPhone 坑比较多,用起来就有坑了 |
![]() | 58 afc 2018-11-07 16:47:39 +08:00 ![]() docker 比 java 好是肯定的,但是没有 MySQL 好用。 |
![]() | 59 xmge 2018-11-07 17:00:25 +08:00 |
![]() | 60 my101du 2018-11-07 17:06:37 +08:00 弱鸡请教下大家关于 docker 部署相同代码到不同机器后, 配置文件维护的问题: 一套代码,不同的配置参数(.env 文件,以及 nginx 的虚拟主机配置文件,ssl 证书相关)。 使用 githook + genkins, 实现推送一次更新,多个服务器自动更新文件、重启容器。 但是,那一大堆配置文件维护起来很痛苦啊。 要改动一个参数,还是得 SSH 登录到每台服务器上去修改。 我现在的办法是把这些配置文件也做成 git 仓库,更新后用 jenkins 去覆盖。。。。总感觉不对。。 |
61 xpresslink 2018-11-07 17:24:39 +08:00 ![]() @my101du 你需要一个集成调度的库来存放配置信息,在启动容器的时候把参数传入,比较常见的是用环境变量方式。有一些则需要用中间件,比如 consul 来保存配置信息,容器内的应用从 consul 拉取配置。 |
62 liuxliang 2018-11-07 17:27:15 +08:00 k8s+gitlabci+docker |
63 arrow8899 2018-11-07 17:32:09 +08:00 ![]() @my101du 为什么还要配虚拟主机和 ssl 呢,服务间调用直接走服务发现 RPC 调用吧,然后业务配置参数可以用携程 Apollo,配置文件可以用 Spring Cloud Config,哪有你这么复杂 |
![]() | 64 realpg PRO 不用。。。 |
![]() | 65 tomxin7 2018-11-07 18:51:32 +08:00 个人项目用 docker |
![]() | 66 zhangalong69 2018-11-07 18:54:21 +08:00 开发和测试环境用 docker,正式环境还是用的物理机 |
![]() | 67 AmorZhang 2018-11-07 18:58:25 +08:00 ![]() 真要比起来 还是 css 靠谱 |
![]() | 68 szetrov 2018-11-07 19:09:50 +08:00 玩玩可以,拿它当个终端虚拟机。。。真正发挥容器化威力的地方我还没了解过 |
![]() | 69 mritd 2018-11-07 19:17:56 +08:00 via iPhone 线上 k8s 集群 |
![]() | 72 owenliang 2018-11-07 19:43:53 +08:00 via Android 这两天看跨节点网络的方案,真是天坑。 |
![]() | 73 HelloAmadeus 2018-11-07 19:48:43 +08:00 via Android 公司内部产品全部上 kubernets 了,有些客户也切换成 kuberbets 了 |
![]() | 74 xiaochen2018 OP @afc 相辅相成哈哈 |
75 salamanderMH 2018-11-07 20:04:18 +08:00 k8s |
76 twl007 2018-11-07 22:39:22 +08:00 via iPhone ![]() @my101du 切换到 k8s 上 然后用 helm 管理 写一个生成不同机器上 values 模板的脚本就行了 我们又跟你一样的问题 就是通过动态生成 helm chart 的方式来解决的 更新的时候只需要把模板更新完脚本会根据模板自动创建不同的 helm chart |
![]() | 77 feelinglucky 2018-11-07 22:50:27 +08:00 楼主拿 docker 和 java 比估计是「虚拟机」的概念搞混了吧… |
![]() | 78 yuikns 2018-11-07 23:05:01 +08:00 docker 是基于 cgroup 的一个容器。这个概念又没什么难懂的。楼主就是想说 docker 在做开发-测试-生产环境一致性做得更加容易和彻底。 kubernets 一键上线自动横向扩展就是容易。数据放到 oss 放到 hdfs 放到 s3 就是不怕事。 https://pic3.zhimg.com/80/v2-c156cc46785bdbeb66c36db81751f2e2_hd.png |
![]() | 79 yuikns 2018-11-07 23:12:35 +08:00 @yuikns 额.. 手快.. docker 是基于 namespace, cgroup, device mapper 等的... |
80 Raymon111111 2018-11-07 23:18:51 +08:00 ![]() 嗯 我也觉得 git 要比 Java 好用 |
![]() | 81 xoxo419 2018-11-07 23:28:51 +08:00 生产上用上了, 但是现在有点箱撤下了. 不是说 docker 不好 只是宝刀还需要一个能驾驭的人..... 现在有些问题就卡了~ |
![]() | 82 fundebug 2018-11-07 23:48:17 +08:00 ![]() 我们 Fundebug 上线 2 周年了,一直在生产环境用 Docker,没毛病。感兴趣的话,阔以参考我们的博客: https://blog.fundebug.com/2018/07/19/technology-selection-is-not-critical/ https://blog.fundebug.com/2018/01/10/how-to-clean-docker-disk/ https://blog.fundebug.com/2017/03/27/nodejs-docker/ https://blog.fundebug.com/tags/Docker/ |
83 RobertYang 2018-11-08 00:21:14 +08:00 via Android 胡说我们浏览器也比 Java 靠谱 |
84 tnt666666 2018-11-08 00:46:00 +08:00 via Android 为什么现在人才这么多? |
![]() | 85 shanigan 2018-11-08 04:02:47 +08:00 docker 最重要的一点优势不就是 containerization? 让开发测试生产环境一致,更加 portable。有什么理由在开发环境用 docker,生产环境不用呢?如果你的 host 都是 linux,docker 对性能的影响几乎可以忽略不计,完全没理由不用。加上 kubernetes 这些 orchestration tool 的帮忙,非常容易 scale up。 |
![]() | 87 LinkT 2018-11-08 08:07:35 +08:00 via Android 此贴是个照妖镜。 |
![]() | 88 my101du 2018-11-08 08:58:06 +08:00 |
![]() | 89 xiaochen2018 OP @LinkT 哈哈,有意思。照妖镜 |
![]() | 90 xiaochen2018 OP 谢谢楼上的各位的经验 |
![]() | 91 xiaochen2018 OP @shanigan 非常感谢,领教啦 |
![]() | 92 cyril4free 2018-11-08 09:33:02 +08:00 个人感觉结合微服务才能发挥 docker 的最大功力。。之前的项目跑在 docker 里,反而会被束缚 |
93 37Y37 2018-11-08 09:42:09 +08:00 我也也用了一年多,这里有介绍基于 Docker 构建的整个 devops 流 https://mp.weixin.qq.com/s/GATfwNETo_aGsJHZdV5YzQ |
![]() | 94 virus94 2018-11-08 10:13:13 +08:00 战略 mark,一个 phper 在学 docker 0.0 |
95 genjigjj 2018-11-08 10:15:34 +08:00 反正我公司在用,确实挺好用的 |
![]() | 96 shuizhengqi 2018-11-08 10:27:04 +08:00 所以是为了宣传自己网站喽,顺便说一句,并不是所有情况都是 docker 好用 |
![]() | 97 nekoneko 2018-11-08 12:54:16 +08:00 我们的客户只给提供 Windows Server 服务器,docker 无缘了。。 |
![]() | 98 will0404 2018-11-08 12:56:24 +08:00 怎么阴阳怪气的人这么多也没人给楼主纠正一下。。。 一个是容器,一个是开发语言,前面的人嘲讽你是因为这两不应该放在一起比较。就像那位说‘铁锅比香肠好吃 ’一样。楼主懂了吗。 |
![]() | 99 xiaochen2018 OP @will0404 哈哈哈我当然知道啊,就是想调侃一下 Java |
![]() | 100 ericgui 2018-11-08 13:06:30 +08:00 v 站也被知乎带坏了,开始到处怼人了,这不好。 |