课外问题: 关于yml 和go的搭配使用
来源:13-5 gin 框架介绍

你那矫情的小眼神
2020-03-19
老师你好,我在gin项目中通过yml来做为配置文件,项目运行起来了。当我docker打包的时候我没有选择 直接配置好yml 然后build 而是选择通过docker 传环境变量改yml文件,这里我有几个问题
- 如果本地 直接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/10010450700
相似问题