关于 docker 部署 go 微服务问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
imherer
V2EX    程序员

关于 docker 部署 go 微服务问题

  •  
  •   imherer 2019-07-04 15:22:52 +08:00 3038 次点击
    这是一个创建于 2341 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如我用 go 实现了 3 个微服务,是在本地开发的,现在想用 docker 部署到服务器上,应该如何操作呢?

    1. 在本地分别将 3 个微服务编译成二进制文件,然后提交到服务器上,最后在服务器上通过 docker 打包成镜像在运行?

    2. 在本地直接打包成 docker 镜像,将镜像 push 到镜像仓库,然后在服务器上 pull 镜像,最后运行?

    对于 2 里 push 到镜像仓库,如何我不想公开我的镜像的话,是不是还得自己搭建私有镜像仓库啊?

    12 条回复    2019-07-05 12:02:56 +08:00
    Hancock
        1
    Hancock  
       2019-07-04 15:46:46 +08:00   1
    第二种可以使用官方 Docker Hub 或者使用阿里云的镜像服务,推荐自建 harbor 和 registry 都可以
    BCy66drFCvk1Ou87
        2
    BCy66drFCvk1Ou87  
       2019-07-04 16:01:53 +08:00 via Android
    还可以这样做:go 项目里面写好 Dockerfile,然后推送到 github 私有仓库。服务器上安装 git,直接 clone 后 build 镜像……
    BCy66drFCvk1Ou87
        3
    BCy66drFCvk1Ou87  
       2019-07-04 16:03:45 +08:00 via Android
    @HuasLeung 但这样做比较不好的一点是 clone 后要安装项目依赖……
    imherer
        4
    imherer  
    OP
       2019-07-04 16:32:52 +08:00
    @HuasLeung 嗯,一般的做法应该都是本地打包成镜像,然后 push 到仓库吧?
    imherer
        5
    imherer  
    OP
       2019-07-04 16:33:35 +08:00
    @HuasLeung 你的号是不是被降权了? 你的回复居然没有新消息提醒。
    BCy66drFCvk1Ou87
        6
    BCy66drFCvk1Ou87  
       2019-07-04 16:36:29 +08:00
    @imherer 应该是的,之前发的贴有几个进了水深火热……
    geniusmyn
        7
    geniusmyn  
       2019-07-04 17:03:20 +08:00
    @HuasLeung 回复不了是啥情况?
    BCy66drFCvk1Ou87
        8
    BCy66drFCvk1Ou87  
       2019-07-04 17:05:22 +08:00
    @geniusmyn 应该能回复的吧,可能没提醒
    haozibi
        9
    haozibi  
       2019-07-04 17:24:14 +08:00   1
    写好代码,包含 Dockerfile -> 提交到仓库 -> 触发 CI -> CI 进行单元测试 -> CI 使用 Dockerfile build 镜像 -> CI push 到私有仓库 -> 手动或者自动触发部署
    toono
        10
    toono  
       2019-07-05 09:30:35 +08:00
    Docker 的多阶段构建了解一下。
    ilovesusu
        11
    ilovesusu  
       2019-07-05 11:57:41 +08:00
    docker 部署 go 我倒是会,是微服务你那里学习的呢?
    imherer
        12
    imherer  
    OP
       2019-07-05 12:02:56 +08:00
    @ilovesusu 就是把业务拆分就行了啊,也有现成的框架可参考,如 go-mirco 等

    你部署流程怎么样的啊? 有搭私有仓库吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2791 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:04 PVG 22:04 LAX 06:04 JFK 09:04
    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