首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jdz
V2EX  ›  程序员

docker 对日常工作有帮助吗,普通后端开发

  •  
  •   jdz · 43 天前 via Android · 6655 次点击
    这是一个创建于 43 天前的主题,其中的信息可能已经有所发展或是发生改变。
    62 回复  |  直到 2019-12-09 20:01:03 +08:00
    reus
        1
    reus   43 天前 via Android
    你用一下不就知道了,后端开发千差万别,有的有用有的没用
    jdz
        2
    jdz   43 天前 via Android
    @reus 最普通的 Java 后端搬砖工,curd 那种
    cyhone
        3
    cyhone   43 天前 via Android
    当然有用,k8s 以后会成为后端的部署运维标准,虽然不会覆盖所有的部署场景。
    不管目前主要使用的哪种语言,docker 都是要学习和了解的
    manami
        4
    manami   43 天前
    当然有帮助。Build, Share, and Run Any App, Anywhere.
    manami
        5
    manami   43 天前
    自己的 vps 以前部署项目都是传统的方式安装环境,现在换上 docker 之后方便了许多
    hakono
        6
    hakono   43 天前 via iPhone   ♥ 1
    方便不知道多少
    劳资开发 php 终于不用再先把 nginx php-fpm 这堆东西装一遍配置一遍了(谁再说 php 是最方便的我跟谁拼了,当年刚接触这方面,光是 php 环境的配置就让我学了不知道多少天,光一个环境搭建就这么折腾人 php 哪里方便了)

    还有 ruby,维护公司内部的年会投票网站,一打开代码 ruby。。。当时的项目没有用 dockerfile 和 compose,只能本地装,
    六七年前的项目,配置环境就一堆问题,生产环境的 deploy 也是直接在本地靠 bundle 做的,更是一堆问题。最后受不了了,直接把整个项目搞成 docker,世界清净了,生产环境 deploy 也方便了

    对于那种开发时环境构建麻烦复杂的,docker 真的是救星
    wd
        7
    wd   43 天前 via iPhone
    如果自己给自己定位是 普通 那可能也不用学...
    zsdroid
        8
    zsdroid   43 天前
    有了 docker 以后,看电脑不爽就直接重装系统,反正开发环境在 docker 上。
    chi1st
        9
    chi1st   43 天前 via Android
    @zsdroid 不是应该在 vagrant 下开发,用 docker 部署么?
    JerryCha
        10
    JerryCha   43 天前
    docker 是世界上最伟大的发明之一
    Mogugugugu
        11
    Mogugugugu   43 天前 via Android
    JAVA 配合 jib 还是很棒的!
    cz5424
        12
    cz5424   43 天前 via iPhone
    看楼主意思是不打算学的。docker 真的很香
    lhx2008
        13
    lhx2008   43 天前 via Android
    如果不做 devops,部署不用你管,用处不大
    whileFalse
        14
    whileFalse   43 天前 via iPhone
    如果你只负责开发并且已经配好环境,那么没用。
    yuikns
        15
    yuikns   43 天前 via Android
    没有,别学,放心吧
    SorcererXW
        16
    SorcererXW   43 天前
    如果程序要跑测试,每一次都丢到线上的测试环境去太慢了,在本地用 docker 搭建一个运行环境,直接进行测试非常方便。
    laminux29
        17
    laminux29   43 天前
    必然方便得多,但我建议用 VMware,优点是比 Docker 功能多,缺点是比 Docker 性能低。
    rockyou12
        18
    rockyou12   43 天前
    还是看情况吧,一般板砖的 java 开发用处不大,也很难感受到 docker 的好处。我司生产基本都全部上 k8s 了,同事基本还是一个懂 docker 的都没有,苦哦 /(ㄒoㄒ)/
    abcbuzhiming
        19
    abcbuzhiming   43 天前
    @rockyou12 问个问题,贵公司的生产环境有多大规模的机器,最近一直在研究 k8s,感觉服务器不够多的时候 k8s 没有优势啊,还不如直接用 docker
    fengxianqi
        20
    fengxianqi   43 天前 via Android
    我是个前端,最近也在学 docker,准备把自己 vps 上的 typecho,静态站点,node 等都 docker 化,这样以后迁移新 vps 应该会方便很多。
    superrichman
        21
    superrichman   43 天前
    后端 java 开发搞 docker 没什么大用处. docker 只是为了开发完成后部署方便才用, 开发过程加入 docker 只会画蛇添足.
    dreamerlv3ex
        22
    dreamerlv3ex   42 天前
    感觉大家都是在大公司...各种 docker.
    mxtob
        23
    mxtob   42 天前 via iPhone
    一次封装到处运行,对于你自己折腾部署过一次后,后面要迁移各种方便。docker 用起来感觉就是对各种 linux 软件的进一步规范吧。有时候折腾不熟悉软件不需要各种看教程源码安装,几个命令就能体验到新软件
    cedoo22
        24
    cedoo22   42 天前
    大公司 有成规模的运维团队的时候有点用, 中小公司就算了。。。。环境配置 中间件各种不标准,一个服务器 N 个服务~一个中间件 N 个系统用,运维人员怎么配置,全靠心情。 你要怎么 docker ???
    tourist2018
        25
    tourist2018   42 天前
    对找工作有帮助 真的有人在 docker 环境种开发么?
    dcalsky
        26
    dcalsky   42 天前 via Android   ♥ 1
    这么说把,我日常使用 python3 和 django,你能想象我本地却没装 python3 吗?因为全放 docker 里了,一开始有些别捏,因为要配置 docker 不如本地直接动手方便,但到部署环节,优势就来了。
    HughRyu
        27
    HughRyu   42 天前
    @laminux29 VMware 和 Docker 两个维度吧。Docker 主要是部署环境的统一打包。而 VMware 对部署,你总不能把 VMDK 扔过去吧?至于资源复用和隔离,概念不同一个有 Hyperviser 一个没有。甚至 VMware+Docker 都是可以生产化的。
    MeteorCat
        28
    MeteorCat   42 天前 via Android
    搞 curd 有个屁用,开着 idea 卡半天吃一大堆内存,再说 Java 不是跨平台直接本地运行就行了吗?
    yukiloh
        29
    yukiloh   42 天前 via Android
    我现在找应用第一就是看有没有 docker…
    sagaxu
        30
    sagaxu   42 天前 via Android
    部署不是运维的事情吗?
    DelayNoMore
        31
    DelayNoMore   42 天前 via Android
    docker+k8s 美滋滋
    locoz
        32
    locoz   42 天前 via Android
    @abcbuzhiming #19 我最近也在研究 k8s,公司一直用的 k8s,然后我最近在把家里服务器上原本直接 docker run 的那些服务迁到虚拟机里的 k8s 集群里,好处和优势方面主要在于 k8s 和它的生态使得管理起来更方便了,比如:
    命名空间之类的设定用来隔离服务很舒服;
    所有服务统一一个负载均衡出口,配置域名什么的全都在 k8s 的生态里解决;
    如果我以后要把某个服务迁到真正的集群上,我只需要连上那个集群然后点个复制就行;
    服务间通信不像单用 docker 那样那么麻烦(我知道可以 swarm,但是配套工具很少有像 k8s 那样好用的)

    而 k8s 之所以能干掉其他的容器编排框架,应该也跟生态碾压脱不了关系。
    locoz
        33
    locoz   42 天前 via Android
    @abcbuzhiming #19 实际的生产环境中,真集群的话用 k8s 可以很轻松地实现扩容之类的,如果单用 docker 的话没那么方便,这就是最直观的优势。
    毕竟现在规模不大不代表未来规模不大,万一要扩大规模的话,像比如说在阿里云上用 k8s,就只需要点一下集群扩容,然后它会自动开新机器并把机器加进集群里,然后再对需要扩容的服务改个副本数量,整个流程就结束了。
    rockyou12
        34
    rockyou12   42 天前
    @abcbuzhiming 10 多 20 个,其实上面优势提了,如果你是要生产上面用,那么 docker 原生很多功能是满足不了的。特别是故障转移不搞集群是没法弄的
    qdzzyb
        35
    qdzzyb   42 天前   ♥ 1
    本地启动个 redis 啊 mysql 啊 贼方便
    ArtIsPatrick
        36
    ArtIsPatrick   42 天前 via iPhone
    如果环境部署很麻烦 docker 可以帮你一劳永逸,别人也可以直接部署,否则就没什么必要,除非公司已经统一使用 docker 了。
    blless
        37
    blless   42 天前 via Android
    可以保证开发测试运行系统环境一致 避免开发 jdk8 生产环境 jdk7 之类的问题
    xuanbg
        38
    xuanbg   42 天前
    搞微服务的特别有用,单体的就只有装 MySQL、Redis 这些有优势,一条命令就装好了。
    wee911
        39
    wee911   42 天前
    不用你怎么部署
    mineqiqi
        40
    mineqiqi   42 天前
    docker 某些环境下非常便捷
    NeinChn
        41
    NeinChn   42 天前
    对 Java 开发来说基本没有什么区别,大部分情况下 Mac/Linux 都能跑,除了少部分依赖 jni/so 的库需要看看有没有做依赖处理。版本上的问题,在大公司肯定不存在,服务器用什么版本,自己本机就用什么版本就可以了。
    对 C/Python 这类语言来说倒是可以大幅度降低依赖管理的难度,提升效率
    Java 本来在这块就做的好,本地开发没什么问题
    C/Python 大部分都要在 Linux 开发机上远程开发
    youxiachai
        42
    youxiachai   42 天前
    只开发过 java...
    没了解过 ruby 和 php 的痛苦,是不了解 docker 的革命性......
    毕竟 java 大部分时候一个 war 包完事...
    hst001
        43
    hst001   42 天前
    初始配置比较麻烦,日常使用多的话,能节省不少时间下来,还是值得的
    scnace
        44
    scnace   42 天前 via Android
    有,以前 deploy 要跟 ops argue 半天 现在 Dockerfile 可以甩他脸上了(
    Yoock
        45
    Yoock   42 天前
    自己本地搭建集群变得简单了, 折腾的成本变低
    cs419
        46
    cs419   42 天前
    如果目光只停留在业务的 crud 上 那的确没 docker 啥事

    但对应用的 CRUD 那 docker 只是基础
    比如某个应用启动多个副本 动态调整节点数 挂了自动恢复
    lewis89
        47
    lewis89   42 天前
    如果你不会 Linux 操作系统跟 Unix 那套工具链以及各种命令的话 Docker 就免了吧,给你用你也用处不大,真心的。
    wangyzj
        48
    wangyzj   42 天前
    单元测试
    jaylee4869
        49
    jaylee4869   42 天前
    我用了 docker 之后恨不得 redis、mq、mysql 这些都换 docker 部署
    qwefdrt
        50
    qwefdrt   42 天前
    对于我这种测试时候喜欢乱搞把环境弄的一团糟的人来说,Docker 比较适合我。不行就销毁重建
    wangkun025
        51
    wangkun025   42 天前
    我是后端,对我没用。
    sl0000
        52
    sl0000   42 天前
    用 kvm 的前端
    falcon05
        53
    falcon05   42 天前 via iPhone
    有计划把开发环境跟正式环境 docker 化的想法,不过 macOS 上的实现跟 Linux 上的 docker 实现很不一样,有些奇怪的坑,而且耗电,最近给 macbook Pro 又买了块紫米充电宝,在外面续航能撑一天了,于是又有了尝试的勇气。
    zy445566
        54
    zy445566   42 天前 via Android
    可以利用 docker 的服务端和客户端分离,实现在开发机更方便部署而不需要登录开发机。
    https://github.com/zy445566/myBlog/blob/master/20190808docker/20190808wsl-remote-docker/README.md

    我觉得 docker 不是 k8s,如果不需要要用上编排成本远低于 k8s,而 docker 在 Linux 平台几乎都是一个命令的事情,干嘛不使用这么简单的工具呢。
    xiaomingVTEX
        55
    xiaomingVTEX   42 天前
    +1, 确实方便了不少
    abcbuzhiming
        56
    abcbuzhiming   42 天前
    @locoz 你的 k8s 集群大概是多大的规模,几台虚拟机?
    locoz
        57
    locoz   42 天前
    @abcbuzhiming #56 四台虚拟机 一台做 master 节点
    amwyyyy
        58
    amwyyyy   42 天前
    对日常工作没用的技术多了去了,但面试爱问,会 docker 是加分项。
    ddzzhen
        59
    ddzzhen   41 天前 via Android
    工具就是为了方便的,如果有重复劳动,你会自己这类工具,如果没有重复劳动那就是不需要
    chenshun00
        60
    chenshun00   41 天前
    对于普通开发其实没有什么区别,但是在运维上会极大的的减少工作量.
    ZSeptember
        61
    ZSeptember   41 天前
    日常工作没啥用的吧,了解下还是好点。
    chippai
        62
    chippai   41 天前
    日常工作没用到,环境啥的都是基础架构的支持。
    日常学习倒是用到很多,本地搭各种环境会用。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3936 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 03:56 · PVG 11:56 · LAX 19:56 · JFK 22:56
    ♥ Do have faith in what you're doing.