V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaochen2018
V2EX  ›  程序员

大家生产环境用 Docker 吗?

  •  
  •   xiaochen2018 · Nov 7, 2018 · 27928 views
    This topic created in 2732 days ago, the information mentioned may be changed or developed.

    最近学习了一段时间 Docker,发现真是个好东西。比 Java 靠谱,真正一次构建,到处乱跑。

    镜像容器管理,省去了好多配置环境的工作。

    想问问各位大佬们平时在项目中用的多吗? 生产环境都用这个了吗?还是只是用来本地开发环境的。

    Docker 入门的一些小知识: http://h5ip.cn/8XPO

    111 replies    2019-04-26 17:40:36 +08:00
    1  2  
    xiaochen2018
        1
    xiaochen2018  
    OP
       Nov 7, 2018
    求各位大佬推荐 Docker 进阶的书籍和课程
    glacer
        2
    glacer  
       Nov 7, 2018   ❤️ 27
    docker 比 Java 靠谱又是什么鬼
    Phariel
        3
    Phariel  
       Nov 7, 2018 via iPhone   ❤️ 6
    你第一句话就暴露了你的水平
    xiaochen2018
        4
    xiaochen2018  
    OP
       Nov 7, 2018   ❤️ 1
    @glacer Java 不是 write once,run everyone 嘛。哈哈
    xiaochen2018
        5
    xiaochen2018  
    OP
       Nov 7, 2018
    @Phariel Java 不是 write once,run everyone 嘛。
    maichael
        6
    maichael  
       Nov 7, 2018
    你在 Windows 折腾过 docker 吗?
    xiaochen2018
        7
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @maichael 没有啊,都在 Ubuntu 和 MacOS 呢
    zjsxwc
        8
    zjsxwc  
       Nov 7, 2018 via Android   ❤️ 16
    铁锅比香肠好吃?
    xiaochen2018
        9
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @zjsxwc 没有好的铁锅,做不好吃哈哈。求大佬指导
    fumichael
        10
    fumichael  
       Nov 7, 2018
    @glacer 就是,什么鬼嘛,我们都是在 linux 装一个 eclipse debug 的 [手动 doge]
    xiaochen2018
        11
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @fumichael 哈哈哈哈
    xiaochen2018
        12
    xiaochen2018  
    OP
       Nov 7, 2018
    各位老哥们,能不能正面回答下问题啊,正式环境大家都用 Docker 吗?
    jmc891205
        13
    jmc891205  
       Nov 7, 2018   ❤️ 2
    write once, run anywhere/everywhere
    run everyone 是啥意思
    @xiaochen2018
    xiaoyaoking
        14
    xiaoyaoking  
       Nov 7, 2018 via Android
    编译环境用 docker,生产环境,本地小项目是跑过还挺稳定的。真正涉及业务的还没跑过。
    hasbug
        15
    hasbug  
       Nov 7, 2018
    学不懂
    boris1993
        16
    boris1993  
       Nov 7, 2018 via Android
    你的英语水平.............
    everyone - 所有人
    everywhere - 任何地方

    还比 Java 靠谱.......这俩根本就不是一类东西好吗喂!
    boris1993
        17
    boris1993  
       Nov 7, 2018 via Android   ❤️ 12
    @jmc891205 #13 意思是写的业务代码纯垃圾,一次部署,就全得跑路
    hlwjia
        18
    hlwjia  
    PRO
       Nov 7, 2018
    @jmc891205 你不说我还没留意到他写错了
    fuxiaohei
        19
    fuxiaohei  
       Nov 7, 2018
    你需要找一些文章先看一遍 docker 生态,已经很健全了。
    大厂有大规模容器使用,不是什么新鲜的技术了。
    leconio
        20
    leconio  
       Nov 7, 2018 via Android
    用了 docker,解决了我 python 跑 web 一大痛点。顺便吐槽下,python 有跨平台和版本兼容吗???
    jjxh
        21
    jjxh  
       Nov 7, 2018
    #17 这个翻译满分
    Seanfuck
        22
    Seanfuck  
       Nov 7, 2018
    @xiaochen2018 我厂是用的,全部应用都用。
    des
        23
    des  
       Nov 7, 2018 via Android
    java 是一次编译,到处调试
    Mac
        24
    Mac  
       Nov 7, 2018 via Android
    楼主的意思是社区比开发商靠谱…?
    huclengyue
        25
    huclengyue  
       Nov 7, 2018 via Android
    docker 跟 java 有什么关系。。
    thet
        26
    thet  
       Nov 7, 2018 via Android
    业务全部 dockerize
    as94boy
        27
    as94boy  
       Nov 7, 2018
    @maichael 要哭的节奏,我是 win10 家庭版,最后直接不想搞了。去他的家庭版。
    hatsuyuki
        28
    hatsuyuki  
       Nov 7, 2018
    @Mac 社区当然比开发商靠谱
    xiaochen2018
        29
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @hatsuyuki 哈哈哈,见仁见智
    xiaochen2018
        30
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @thet 微服务分布式离不开了吧
    xiaochen2018
        31
    xiaochen2018  
    OP
       Nov 7, 2018
    @boris1993 哈哈哈 看走眼了,百度输入法智能提醒
    xpresslink
        32
    xpresslink  
       Nov 7, 2018
    现在在生产环境用的是很普遍的,通常互联网公司都在用。
    弹性资源占用是很大优势,需要持续集成快速迭代的项目通常都容器化部署。
    yx1989
        33
    yx1989  
       Nov 7, 2018
    在线业务全部 docker 化
    xiaochen2018
        34
    xiaochen2018  
    OP
       Nov 7, 2018
    @yx1989 好的呢,谢谢老哥
    xiaochen2018
        35
    xiaochen2018  
    OP
       Nov 7, 2018
    @xpresslink 谢谢,领教了
    zzzcx
        36
    zzzcx  
       Nov 7, 2018
    不仅仅是 docker,还用 k8s。。。
    Perry
        37
    Perry  
       Nov 7, 2018 via iPhone
    生产环境还得靠 k8s
    xiaochen2018
        38
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @zzzcx 是的呢,最近也在看
    xiaochen2018
        39
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @Perry 谢谢,领教了
    acoin
        40
    acoin  
       Nov 7, 2018 via Android   ❤️ 1
    @boris1993 楼主裤子都被你扒了 笑而不语 233
    lhx2008
        41
    lhx2008  
       Nov 7, 2018 via Android
    docker 在 win 上面就算了。。java 倒没啥事
    xiaochen2018
        42
    xiaochen2018  
    OP
       Nov 7, 2018
    @acoin 哈哈,没关系必须要有自嘲精神。没这么厚的脸皮我发毛帖子
    acoin
        43
    acoin  
       Nov 7, 2018
    @xiaochen2018 可以
    iyaozhen
        44
    iyaozhen  
       Nov 7, 2018
    有用,但是小问题比较多,对开发者有一定要求,还在吃螃蟹
    lmdtx
        45
    lmdtx  
       Nov 7, 2018
    再用 docker swarm
    yuanfnadi
        46
    yuanfnadi  
       Nov 7, 2018
    你知道 Mac 下面的 docker 其实是装了一个虚拟机么。
    xixijun
        47
    xixijun  
       Nov 7, 2018
    生产环境用的 k8s / docker-compose
    starsky007
        48
    starsky007  
       Nov 7, 2018 via Android   ❤️ 8
    人家不懂来问问,何必抓住一个小错不放呢,也不帮忙解答一下,阴阳怪气的
    vanishcode
        49
    vanishcode  
       Nov 7, 2018 via Android
    都是 k8s 咯
    guoyuchuan
        50
    guoyuchuan  
       Nov 7, 2018
    使用的人越来越多了
    xiaochen2018
        51
    xiaochen2018  
    OP
       Nov 7, 2018
    @starsky007 真心谢谢老哥了!感谢
    xiaochen2018
        52
    xiaochen2018  
    OP
       Nov 7, 2018
    @xixijun 是啊,Docker-compose 有用的。看来要学学 k8s
    acoin
        53
    acoin  
       Nov 7, 2018
    @xiaochen2018 Docker-compose 没法用集群吧 生产不应该是 swarm+stack 么
    Dzer0
        54
    Dzer0  
       Nov 7, 2018
    kubernetes 了解一下,可以上生产。
    mosesyou
        55
    mosesyou  
       Nov 7, 2018
    用的,我们还在 k8s 上层搭建自己的云平台
    puperSB
        56
    puperSB  
       Nov 7, 2018
    公司的大业务都上的 docker,bat 也有很成熟的方案。集群不一定用 k8s,swarm 也是可以尝试的
    znood
        57
    znood  
       Nov 7, 2018 via iPhone
    坑比较多,用起来就有坑了
    afc
        58
    afc  
       Nov 7, 2018   ❤️ 1
    docker 比 java 好是肯定的,但是没有 MySQL 好用。
    xmge
        59
    xmge  
       Nov 7, 2018
    my101du
        60
    my101du  
       Nov 7, 2018
    弱鸡请教下大家关于 docker 部署相同代码到不同机器后, 配置文件维护的问题:

    一套代码,不同的配置参数(.env 文件,以及 nginx 的虚拟主机配置文件,ssl 证书相关)。
    使用 githook + genkins, 实现推送一次更新,多个服务器自动更新文件、重启容器。
    但是,那一大堆配置文件维护起来很痛苦啊。 要改动一个参数,还是得 SSH 登录到每台服务器上去修改。

    我现在的办法是把这些配置文件也做成 git 仓库,更新后用 jenkins 去覆盖。。。。总感觉不对。。
    xpresslink
        61
    xpresslink  
       Nov 7, 2018   ❤️ 1
    @my101du
    你需要一个集成调度的库来存放配置信息,在启动容器的时候把参数传入,比较常见的是用环境变量方式。有一些则需要用中间件,比如 consul 来保存配置信息,容器内的应用从 consul 拉取配置。
    liuxliang
        62
    liuxliang  
       Nov 7, 2018
    k8s+gitlabci+docker
    arrow8899
        63
    arrow8899  
       Nov 7, 2018   ❤️ 1
    @my101du 为什么还要配虚拟主机和 ssl 呢,服务间调用直接走服务发现 RPC 调用吧,然后业务配置参数可以用携程 Apollo,配置文件可以用 Spring Cloud Config,哪有你这么复杂
    realpg
        64
    realpg  
    PRO
       Nov 7, 2018
    不用。。。
    tomxin7
        65
    tomxin7  
       Nov 7, 2018
    个人项目用 docker
    zhangalong69
        66
    zhangalong69  
       Nov 7, 2018
    开发和测试环境用 docker,正式环境还是用的物理机
    AmorZhang
        67
    AmorZhang  
       Nov 7, 2018   ❤️ 2
    真要比起来 还是 css 靠谱
    szetrov
        68
    szetrov  
       Nov 7, 2018
    玩玩可以,拿它当个终端虚拟机。。。真正发挥容器化威力的地方我还没了解过
    mritd
        69
    mritd  
       Nov 7, 2018 via iPhone
    线上 k8s 集群
    mritd
        70
    mritd  
       Nov 7, 2018 via iPhone
    @szetrov #68 k8s 集群弹性扩容,自动迁徙了解一下
    kslr
        71
    kslr  
       Nov 7, 2018   ❤️ 1
    @my101du etcd
    owenliang
        72
    owenliang  
       Nov 7, 2018 via Android
    这两天看跨节点网络的方案,真是天坑。
    HelloAmadeus
        73
    HelloAmadeus  
       Nov 7, 2018 via Android
    公司内部产品全部上 kubernets 了,有些客户也切换成 kuberbets 了
    xiaochen2018
        74
    xiaochen2018  
    OP
       Nov 7, 2018 via iPhone
    @afc 相辅相成哈哈
    salamanderMH
        75
    salamanderMH  
       Nov 7, 2018
    k8s
    twl007
        76
    twl007  
       Nov 7, 2018 via iPhone   ❤️ 1
    @my101du 切换到 k8s 上 然后用 helm 管理 写一个生成不同机器上 values 模板的脚本就行了 我们又跟你一样的问题 就是通过动态生成 helm chart 的方式来解决的 更新的时候只需要把模板更新完脚本会根据模板自动创建不同的 helm chart
    feelinglucky
        77
    feelinglucky  
       Nov 7, 2018
    楼主拿 docker 和 java 比估计是「虚拟机」的概念搞混了吧…
    yuikns
        78
    yuikns  
       Nov 7, 2018
    docker 是基于 cgroup 的一个容器。这个概念又没什么难懂的。楼主就是想说 docker 在做开发-测试-生产环境一致性做得更加容易和彻底。

    kubernets 一键上线自动横向扩展就是容易。数据放到 oss 放到 hdfs 放到 s3 就是不怕事。


    https://pic3.zhimg.com/80/v2-c156cc46785bdbeb66c36db81751f2e2_hd.png


    😂
    yuikns
        79
    yuikns  
       Nov 7, 2018
    @yuikns 额.. 手快..
    docker 是基于 namespace, cgroup, device mapper 等的...
    Raymon111111
        80
    Raymon111111  
       Nov 7, 2018   ❤️ 1
    嗯 我也觉得 git 要比 Java 好用
    xoxo419
        81
    xoxo419  
       Nov 7, 2018
    生产上用上了, 但是现在有点箱撤下了. 不是说 docker 不好 只是宝刀还需要一个能驾驭的人.....

    现在有些问题就卡了~
    fundebug
        82
    fundebug  
       Nov 7, 2018   ❤️ 1
    RobertYang
        83
    RobertYang  
       Nov 8, 2018 via Android
    胡说我们浏览器也比 Java 靠谱
    tnt666666
        84
    tnt666666  
       Nov 8, 2018 via Android
    为什么现在人才这么多?
    shanigan
        85
    shanigan  
       Nov 8, 2018
    docker 最重要的一点优势不就是 containerization? 让开发测试生产环境一致,更加 portable。有什么理由在开发环境用 docker,生产环境不用呢?如果你的 host 都是 linux,docker 对性能的影响几乎可以忽略不计,完全没理由不用。加上 kubernetes 这些 orchestration tool 的帮忙,非常容易 scale up。
    xuanbg
        86
    xuanbg  
       Nov 8, 2018
    @my101du 你需要一个配置中心
    LinkT
        87
    LinkT  
       Nov 8, 2018 via Android
    此贴是个照妖镜。
    my101du
        88
    my101du  
       Nov 8, 2018
    @xpresslink @liuxliang @arrow8899 @kslr @twl007 @xuanbg 一并感谢!! 各种思路百花齐放啊。。。
    xiaochen2018
        89
    xiaochen2018  
    OP
       Nov 8, 2018 via iPhone
    @LinkT 哈哈,有意思。照妖镜
    xiaochen2018
        90
    xiaochen2018  
    OP
       Nov 8, 2018 via iPhone
    谢谢楼上的各位的经验
    xiaochen2018
        91
    xiaochen2018  
    OP
       Nov 8, 2018 via iPhone
    @shanigan 非常感谢,领教啦
    cyril4free
        92
    cyril4free  
       Nov 8, 2018
    个人感觉结合微服务才能发挥 docker 的最大功力。。之前的项目跑在 docker 里,反而会被束缚
    37Y37
        93
    37Y37  
       Nov 8, 2018
    我也也用了一年多,这里有介绍基于 Docker 构建的整个 devops 流
    https://mp.weixin.qq.com/s/GATfwNETo_aGsJHZdV5YzQ
    virus94
        94
    virus94  
       Nov 8, 2018
    战略 mark,一个 phper 在学 docker 0.0
    genjigjj
        95
    genjigjj  
       Nov 8, 2018
    反正我公司在用,确实挺好用的
    shuizhengqi
        96
    shuizhengqi  
       Nov 8, 2018
    所以是为了宣传自己网站喽,顺便说一句,并不是所有情况都是 docker 好用
    nekoneko
        97
    nekoneko  
       Nov 8, 2018
    我们的客户只给提供 Windows Server 服务器,docker 无缘了。。
    will0404
        98
    will0404  
       Nov 8, 2018
    怎么阴阳怪气的人这么多也没人给楼主纠正一下。。。

    一个是容器,一个是开发语言,前面的人嘲讽你是因为这两不应该放在一起比较。就像那位说‘铁锅比香肠好吃
    ’一样。楼主懂了吗。
    xiaochen2018
        99
    xiaochen2018  
    OP
       Nov 8, 2018 via iPhone
    @will0404 哈哈哈我当然知道啊,就是想调侃一下 Java
    ericgui
        100
    ericgui  
       Nov 8, 2018
    v 站也被知乎带坏了,开始到处怼人了,这不好。
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2439 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 161ms · UTC 05:25 · PVG 13:25 · LAX 22:25 · JFK 01:25
    ♥ Do have faith in what you're doing.