课外问题: 关于yml 和go的搭配使用

来源:13-5 gin 框架介绍

你那矫情的小眼神

2020-03-19

老师你好,我在gin项目中通过yml来做为配置文件,项目运行起来了。当我docker打包的时候我没有选择 直接配置好yml 然后build 而是选择通过docker 传环境变量改yml文件,这里我有几个问题

  1. 如果本地 直接build 生成一个文件, 那么在docker 传环境变量的时候 他读取不到yml文件[或者有个逻辑:同目录读取yml配置?]
    2.在build的环节,直接build 然后docker 部署可执行文件是最小的,但是这个又回到1了我想通过docker 传环境变量。
    3.关于编译:A容器提供编译服务然后文件挂出来了。B容器提供服务 和A共享目录 B就执行共享的编译文件? 这个可以么,
    老师有没有好的部署方案啊
写回答

1回答

ccmouse

2020-03-22

老师你好,我在gin项目中通过yml来做为配置文件,项目运行起来了。当我docker打包的时候我没有选择 直接配置好yml 然后build 而是选择通过docker 传环境变量改yml文件,这里我有几个问题
1 如果本地 直接build 生成一个文件, 那么在docker 传环境变量的时候 他读取不到yml文件[或者有个逻辑:同目录读取yml配置?]
2 2.在build的环节,直接build 然后docker 部署可执行文件是最小的,但是这个又回到1了我想通过docker 传环境变量。
3 3.关于编译:A容器提供编译服务然后文件挂出来了。B容器提供服务 和A共享目录 B就执行共享的编译文件? 这个可以么,
4 老师有没有好的部署方案啊
一般把那些不会变的配置写在yml里面和编译好的go程序打包进同一个docker镜像。运行的时候再通过环境变量指定那些环境相关的配置。
共享的话一般采用挂载主机文件的方法。容器间共享也是可以的,可以参考 https://blog.csdn.net/weixin_37714489/article/details/100104507

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程