我是来科普下 Docker 是干嘛的,以前一直不知道好处,网上搜出来的介绍完全看不懂 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dbfox
V2EX    Docker

我是来科普下 Docker 是干嘛的,以前一直不知道好处,网上搜出来的介绍完全看不懂

  •  
  •   dbfox 2015-09-09 11:38:16 +08:00 9224 次点击
    这是一个创建于 3751 天前的主题,其中的信息可能已经有所发展或是发生改变。
    玩具机器人 11:13:16
    发现 docker 好爽

    ME 11:13:36
    怎么爽法

    玩具机器人 11:14:17
    可以在服务器上安装同一个软件 好几次

    ME 11:14:35
    那确实很爽
    一个 mysql 安装多次
    这样比虚拟机有优势

    玩具机器人 11:15:04
    对啊

    ME 11:15:15
    虚拟机得运行个 操作系统
    这样可以共享一个操作系统
    比较爽

    玩具机器人 11:16:43
    刚刚试了一下, 我装了个 ubuntu 14.10 的虚拟机, 然后装了 lamp 环境, 然后有装了 docker, 在容器里面又装了个 mysql, 然后映射 3307 端口给 mysql 容器, 结果, 两个都可以用

    玩具机器人 11:18:33
    https://dashboard.daocloud.io
    可以看一下这个网站, 你也配置一下看看, 感觉爽死了

    ME 11:22:53
    多个人共享一台服务器
    比较爽

    玩具机器人 11:24:50
    对, 但是 web 服务器不能搞多个, 只有一个 80 端口
    估计有根据域名指向容器的方法, 要研究一下

    ME 11:25:37
    也可以
    用 nginx 做代理
    映射到不同的 端口

    玩具机器人 11:28:43
    我在想 docker 的用途

    ME 11:28:53
    感觉适合测试环境

    玩具机器人 11:29:53
    第一想到的就是每个容器里面运行一个完整的项目, 当项目升级的时候, 可以再开一个容器, 把新代码 数据库之类的搞进去
    然后启动新容器
    如果发现重大 bug, 可以瞬间回退到老版本

    玩具机器人 11:30:54
    据说 docker 容器的性能几乎没有损耗

    ME 11:33:00
    太牛逼了
    不错
    以前一直不知道 docker 的用处
    查网上也说不清

    玩具机器人 11:34:28
    刚出来的, 用处还在挖掘
    22 条回复    2017-02-24 14:43:32 +08:00
    Radeon
        1
    Radeon  
       2015-09-09 11:43:27 +08:00
    Prefix Isolation 可以做的事用不着用容器来做
    mongodb
        2
    mongodb  
       2015-09-09 11:51:38 +08:00
    玩具机器人 11:18:33
    https://dashboard.daocloud.io
    可以看一下这个网站, 你也配置一下看看, 感觉爽死了


    ____

    实际上不用 daocloud 也很爽……
    chairuosen
        3
    chairuosen  
       2015-09-09 11:52:13 +08:00
    不太懂在 docker 里运行 mysql 有啥用, container 不是持久化的,一重启数据丢了咋办
    loading
        4
    loading  
       2015-09-09 11:53:11 +08:00 via iPhone
    知道虚拟机的快照吗?
    增量备份知道吗?

    原理也就这样!
    dbfox
        5
    dbfox  
    OP
       2015-09-09 11:55:58 +08:00
    @chairuosen 只是做个试验
    cevincheung
        6
    cevincheung  
       2015-09-09 11:58:28 +08:00
    @chairuosen
    docker 作为一个虚拟操作系统来运行,与外部系统共享资源,包括存储。
    比如设置存储服务器,所有 docker 服务器的母鸡都连接相同的存储接口。运行 docker 时指定共享目录,比如多个运行 nginx 的 docker ,可以共享同一个 /var/www 目录。数据存储在外部。

    当然也可以将代码存储在 docker ,设置共享 /data/upload 目录, docker 中设置软连接到自己的 /web/upload 。
    项目有新版本?设置一个新的 docker 扔上去,只换了业务代码, upload 上传目录还是在存储服务器上的。
    新版本有问题?挂了运行之前的老 docker ,搞定。
    chairuosen
        7
    chairuosen  
       2015-09-09 12:01:32 +08:00
    @cevincheung 业务代码当然没问题,我说的是 db 。
    gaitana
        8
    gaitana  
       2015-09-09 12:02:58 +08:00
    @cevincheung 项目有了新版本,用 docker 扔上去比用 git push 上去有优势吗?速度比 git push 快吗? git push 可以一秒内同步到服务器。

    没用过 docker ,纯疑问
    gaitana
        9
    gaitana  
       2015-09-09 12:05:56 +08:00
    还有个疑问, docker 怎么解决库依赖的问题的?比如用 docker 包装了一个 mysql 扔到新服务器上,但新服务器没装 mysql 相关的依赖,遇到这种问题怎么解决?
    loading
        10
    loading  
       2015-09-09 12:07:03 +08:00 via iPhone
    @gaitana
    如果所有服务器都要安装一个新库再部署呢?
    我说的是 10 台。
    9hills
        11
    9hills  
       2015-09-09 12:07:55 +08:00
    @gaitana docker 包装 mysql 的时候其实是把 mysql 的全部依赖整体都打包了。。所以不用解决依赖问题
    9hills
        12
    9hills  
       2015-09-09 12:08:38 +08:00
    lz 你拿个聊天记录来科普也太没有诚意了吧
    9hills
        13
    9hills  
       2015-09-09 12:09:23 +08:00
    @chairuosen Docker Container 是持久化的, stop 后还可以 start 。
    ETiV
        14
    ETiV  
       2015-09-09 12:11:42 +08:00
    @chairuosen 我也曾经有过这样的困惑
    但是研究了一下, 就发现 docker 支持挂载外部路径进 container. 所以重要的文件存储还是可以持久的.

    包括配置文件啊这些, 也可以通过挂载外部路径来读取. 这样即便是相同的镜像, 运行起来的 container 都可有不同配置.
    9hills
        15
    9hills  
       2015-09-09 12:16:22 +08:00
    @ETiV 其实运行起来的 container ,它也是持久化的。。并不会丢。只是大家喜欢 rm 掉重新起一个##
    chairuosen
        16
    chairuosen  
       2015-09-09 12:17:28 +08:00
    @ETiV 是的,这些都可以,但总不能 db 写文件吧。。。
    @9hills 我是指这个 container 会不会因为某种情况 crash 了就消失了,再从镜像 run 就没了
    liuchang0812
        17
    liuchang0812  
       2015-09-09 12:24:28 +08:00
    @chairuosen you need docker VOLUME , It's used for persistent storage.
    ETiV
        18
    ETiV  
       2015-09-09 12:36:02 +08:00
    @9hills 晓得. 但最主要是更换容器镜像(升级个版本啥的), 可以保证外部文件不受影响嘛.


    @chairuosen db 写文件? 不是很懂...
    est
        19
    est  
       2015-09-09 12:38:04 +08:00
    @cevincheung 那么恭喜你,如果没 docker 跑 2 个 mysql 只是多出一个问题,那么用 docker 跑 2 个 mysql 并且共享目录,变成了 3 个问题。
    nine
        20
    nine  
       2015-09-09 13:24:58 +08:00
    刚随便看了一眼某个库 49G
    完整备份也要好久,我只想知道随着版本更新带来的表结构迁移后用 docker 如何瞬间回到老版本。
    另外业务跑出来的新数据怎么整?
    god
        21
    god  
       2015-09-09 14:01:50 +08:00 via iPad
    @9hills diff docker-persistent-container
    HowToMakeLove
        22
    HowToMakeLove  
       2017-02-24 14:43:32 +08:00
    @cevincheung 那这样和 GIT 感觉一样啊。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     894 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 21:36 PVG 05:36 LAX 13:36 JFK 16:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86