V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jason0916
V2EX  ›  Docker

[求助]docker build 速度非常慢

  •  
  •   jason0916 ·
    NoneGG · 2017-03-18 22:50:35 +08:00 · 14297 次点击
    这是一个创建于 2595 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大佬有碰到过 build 别人的 dockerfile 时非常慢的情况么?从 dockerhub 拖 image 下来倒是可以用,但是自己修改后却发现 build 过程基本就像卡死了一样。为防止是自己修改中带入的错误导致的于是把原本的 dockerfile 下下来 build ,没想到也是那么慢。

    原 docker

    37 条回复    2017-03-21 22:46:22 +08:00
    derek80
        1
    derek80  
       2017-03-18 23:28:21 +08:00 via Android   ❤️ 1
    大量 apt-get 切换为国内源看看。
    neoblackcap
        2
    neoblackcap  
       2017-03-18 23:36:59 +08:00   ❤️ 2
    hub.docker.com 用 s3 能不卡吗?换 daocloud 的镜像吧少年
    ryd994
        3
    ryd994  
       2017-03-18 23:58:39 +08:00   ❤️ 1
    dockerhub 是免费的,没必要自己 build 。挂在 hub 上,过一段时间再看就行。
    mengskysama
        4
    mengskysama  
       2017-03-19 00:02:09 +08:00 via iPhone   ❤️ 1
    dockerfile 贴一下
    jason0916
        5
    jason0916  
    OP
       2017-03-19 00:44:04 +08:00
    @derek80 好的,我这就试试看,谢谢大佬
    jason0916
        6
    jason0916  
    OP
       2017-03-19 00:44:52 +08:00
    @neoblackcap 我有用 daocloud 的加速服务来着,不然连 pull 都 pull 不下来 orz ,真是给大中华局域网跪了
    jason0916
        7
    jason0916  
    OP
       2017-03-19 00:45:30 +08:00
    @ryd994 这样确实也可以啦,就是担心步骤出错了不太方便修改
    jason0916
        8
    jason0916  
    OP
       2017-03-19 00:46:09 +08:00
    chengxuyuanfei
        9
    chengxuyuanfei  
       2017-03-19 02:08:01 +08:00
    我试了一下,耗时 3 分 56 秒
    mengskysama
        10
    mengskysama  
       2017-03-19 09:43:01 +08:00 via iPhone   ❤️ 4
    应该就是楼上所说的 apt 源国内速度慢,我一般 dockerfile 加
    RUN sed -i "s/archive.ubuntu./mirrors.aliyun./g" /etc/apt/sources.list
    RUN sed -i "s/deb.debian.org/mirrors.aliyun.com/g" /etc/apt/sources.list
    RUN sed -i "s/security.debian.org/mirrors.aliyun.com\/debian-security/g" /etc/apt/sources.list
    Muninn
        11
    Muninn  
       2017-03-19 10:09:52 +08:00 via Android
    在 daocloud 用海外 build 。 或者用各种海外集成服务,或者挂代理。把 docker 改的 pull 用代理。自己的 shell 环境用变量声明代理。

    docker 怎么用代理点进我博客第一页有写,手机回复不方便去给你粘贴地址。
    Muninn
        12
    Muninn  
       2017-03-19 10:12:53 +08:00 via Android   ❤️ 1
    我错了 点了下我头像我挂的不是技术博客链接 这个 tech.crandom.com 里边有怎么给 docker 加代理

    不过还是建议用海外的服务自动触发 build
    jason0916
        13
    jason0916  
    OP
       2017-03-19 11:33:05 +08:00
    @chengxuyuanfei 好快 0- 0
    jason0916
        14
    jason0916  
    OP
       2017-03-19 11:33:21 +08:00
    @mengskysama 我试试,谢谢大佬
    jason0916
        15
    jason0916  
    OP
       2017-03-19 11:33:38 +08:00
    @Muninn 我试试哈
    chengxuyuanfei
        16
    chengxuyuanfei  
       2017-03-19 11:54:49 +08:00 via Android   ❤️ 1
    @jason0916 用的 DaoCloud 来 build ,只需要填一下 git 地址就好了,你可以试试
    jason0916
        17
    jason0916  
    OP
       2017-03-19 12:04:33 +08:00
    @mengskysama @derek80 确实是镜像的原因,切换镜像以后就可以了,谢谢大佬们帮忙
    jason0916
        18
    jason0916  
    OP
       2017-03-19 12:04:57 +08:00
    @chengxuyuanfei 这么方便么,我试试
    jason0916
        19
    jason0916  
    OP
       2017-03-19 12:43:03 +08:00
    @chengxuyuanfei 确实超级快啊 T^T 以后还是用 daocloud 吧,成功圈粉
    Muninn
        20
    Muninn  
       2017-03-19 13:30:46 +08:00 via Android
    daocloud 如果稳定的时候 特别好 比国外那些还好用

    问题是长期用下来,老挂掉,这几个月还老要排队,排队的时候好无助,于是我还是搭建的让本地也可以 build 了
    Reficul
        21
    Reficul  
       2017-03-19 13:46:18 +08:00 via Android
    @jason0916 DaoCloud 有个云端 dockerfile ,支持 dockerfile lint 和即时保存生效。
    jason0916
        22
    jason0916  
    OP
       2017-03-19 13:47:44 +08:00
    @Muninn 毕竟属于创业公司嘛,但是我觉得还挺有前景的
    jason0916
        23
    jason0916  
    OP
       2017-03-19 13:48:00 +08:00
    @Reficul 这么厉害
    Reficul
        24
    Reficul  
       2017-03-19 13:51:52 +08:00 via Android
    @jason0916 恩啊,快去试试。这个功能看起来隐藏的好深大家都不知道的赶脚。(扶脸哭)
    jason0916
        25
    jason0916  
    OP
       2017-03-19 13:52:43 +08:00
    @Reficul 嗯嗯
    jason0916
        26
    jason0916  
    OP
       2017-03-19 13:57:39 +08:00
    @Reficul 找了一圈……还真没有找到 = = 你是指在云端测试那个么?我理解那个好像是用来部署测试环境的啊?
    Reficul
        27
    Reficul  
       2017-03-19 14:02:38 +08:00 via Android
    在项目的设置选择云端流程定义,然后再流程定义里点 dockerfile 路径会跳出来一个窗口告诉你可以用云端 dockerfile 。
    Reficul
        28
    Reficul  
       2017-03-19 14:06:30 +08:00 via Android
    @jason0916 参见楼上,忘记 @了
    fourstring
        29
    fourstring  
       2017-03-19 15:26:06 +08:00
    说实话,我的第一反应是楼主 docker build /
    mritd
        30
    mritd  
       2017-03-19 16:34:25 +08:00 via iPhone
    玩 Docker 你没有梯子,搞笑么
    jason0916
        31
    jason0916  
    OP
       2017-03-19 18:18:30 +08:00
    @Reficul 这真的是有点隐蔽啊 = =
    jason0916
        32
    jason0916  
    OP
       2017-03-19 18:18:40 +08:00
    @fourstring 哈哈,不会不会
    jason0916
        33
    jason0916  
    OP
       2017-03-19 18:19:30 +08:00
    @mritd 平时用公司 vpn 就足够了所以没开
    WildCat
        34
    WildCat  
       2017-03-19 22:23:11 +08:00
    最好的方式是在国外 vps 上 build ,然后 push 到自己私有 registry
    jason0916
        35
    jason0916  
    OP
       2017-03-19 22:56:24 +08:00
    @WildCat 嗯嗯
    param
        36
    param  
       2017-03-21 22:33:36 +08:00
    用 docker-compose build 了一下楼主给出的项目,耗时刚好 3 分半钟。非中国大陆的 IP 我都是走日本的 VPS 代理。
    jason0916
        37
    jason0916  
    OP
       2017-03-21 22:46:22 +08:00
    @param 嗯嗯 0- 0
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3665 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 05:03 · PVG 13:03 · LAX 22:03 · JFK 01:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.