V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
helloworld12
V2EX  ›  问与答

docker 部署方式

  •  
  •   helloworld12 · 2017-10-27 10:57:38 +08:00 · 2214 次点击
    这是一个创建于 2609 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在生产环境编辑完代码后,你们是怎么部署的?

    我现在想到的方式有:

    1.在生产环境里生成镜像文件,然后把镜像文件拖到线上,再装载运行镜像文件
    在生产环境:

    docker save xxxImage > xxxImage.tar
    

    在线上环境:

    docker load < xxxImage.tar
    

    缺点是感觉镜像文件太大了,600 多 M,传到服务器要好久

    2.先 push 到私有仓库,然后再从私有仓库拉取,然后运行容器
    在生产环境:

    docker push  xxxServer:port/xxxImage
    

    在线上环境:

    docker pull   xxxServer:port/xxxImage
    

    请教下,你们是怎么做的

    现在我生产环境是 window,线上环境是 window,然后为了捕捉 golang 的崩溃日志,需要使用 linux 容器( linux 下,才可以调用 syscall.Dup2 函数)

    我要怎么部署比较合适,或者有什么别的能在 window 下捕捉崩溃日志的方式

    谢谢

    11 条回复    2017-10-27 17:58:35 +08:00
    barbery
        1
    barbery  
       2017-10-27 11:29:38 +08:00
    正确做法是 2,从私有仓库去拉取,私有仓库毕竟是有版本管理的。懒的话,可以直接部署 DockerFile 上去 build,但是不是那么推荐
    cy97cool
        2
    cy97cool  
       2017-10-27 13:08:15 +08:00 via Android
    镜像文件太大应该考虑压缩 600 多 M 压缩成 7z 可能不到 200M

    https://py3.io/Docker.html
    其中搬运镜像部分
    jjianwen68
        3
    jjianwen68  
       2017-10-27 13:17:10 +08:00
    不用每次用完整镜像吧,弄个基础镜像,后面每次挂载工程目录,这样不行吗
    Havee
        4
    Havee  
       2017-10-27 13:42:09 +08:00
    数据,不要放镜像中,否则某次意外导致服务重启,就要哭了。
    recall704
        5
    recall704  
       2017-10-27 13:48:24 +08:00
    我们都是私有仓库,镜像有分层机制,如果拉过了,就不需要再拉取。
    类似增量更新。
    puyo
        6
    puyo  
       2017-10-27 13:54:35 +08:00 via Android
    借楼问一下,我有个项目是用 docker 部署,单机上放三个容器,一个 nginx、一个 mysql、一个 django,这样单机上用 docker 是好的实践吗?以及会不会有性能问题(相比较与在单机上直接部署)
    whileFalse
        7
    whileFalse  
       2017-10-27 14:19:22 +08:00
    楼主镜像里装了什么这么大?
    可以试试两段构建。
    fanjianhang
        8
    fanjianhang  
       2017-10-27 16:55:59 +08:00
    是否可以加参数- o 直接输出成镜像格式,然后在线上 load
    lincolnhuang
        9
    lincolnhuang  
       2017-10-27 17:13:51 +08:00
    LZ 生产环境不是线上环境?
    htfy96
        10
    htfy96  
       2017-10-27 17:42:46 +08:00
    @puyo #6 注意选择 storage driver 和 port mapping 方式应该就没问题
    helloworld12
        11
    helloworld12  
    OP
       2017-10-27 17:58:35 +08:00
    @lincolnhuang 写错了,开发环境
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5210 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:31 · PVG 17:31 · LAX 01:31 · JFK 04:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.