Loading... ## docker环境下热更新/热编译/热部署 不起作用 监听不到文件变化 在docker-compose环境下开发业务时发现一个很严重的问题,不知道是我自己系统还是什么环境配置问题还是咋了,就是docker中运行golang的热编译工具 监听不到文件变化 , 以至于不更新代码 热更新工具 modd air 都用了 , 皆不管用 > 问题回放 - 容器 : golang + mysql + redis + nginx .... ( docker-compose构建 ) - 本地电脑Windows11 , docker-desktop v4.10.1 - 值得一提的是 我是用移动硬盘 `I` 盘 存放书写的代码 - golang容器 : - ``` Mounts /USR/SRC/CODE I:\projects\app-admin ``` - modd 启动代码 - 本地 goland 写代码 然后保存后 无反应 #### 试图解决问题过程 - 修改文件权限 - 查看权限 `ls -l` 得知文件权限可读可写 看网上说要给7** 反正就是可读可写吗 - 然后 `chmod -R 777 项目文件夹` 一顿操作后 重启 电脑+docker等 还是无效 - 修改文件挂载目录 - 查阅百度都放屁说不能挂载文件 , 需要挂载目录 , 但是我一直挂载的都是目录 , 一点有用的信息都查不到 - 当然在github和docker论坛上看到有讨论这个问题的 , 有说是docker问题,有说是linux问题,有的说是热编译工具监听文件变化不成功等问题 , 反正有跟我一样疑问的 , 就是没有解决的 - 修改本地挂载目录的名称 - 怀疑是`-`的问题 `app-admin` 所以删掉`-`后重新操作, 但是 无卵用 - 查看文件修改时间 - 在本地修改一下main.go后 去重新开一个exec 然后 `stat main.go` 发现修改时间已经变化了 - 但是 热编译工具并没有更新代码 - ...... - 经过一顿操作 查阅各种文献 各种论坛社区后 终于解决问题了 - 那就是把golang容器下掉 本地golang开发环境进行开发 modd(热更新) 就生效了 反正解决了好几天 这个问题都解决不掉 索性不解决了 留给以后把 最后修改:2022 年 07 月 15 日 © 允许规范转载 打赏 赞赏作者 微信 赞 1 如果觉得我的文章对你有用,请随意赞赏
2 条评论
也可能是权限给的太大, 我待会设置一下644看看
看docker论坛上 , 16年还是15年就有这个问题在反应 , 就是没有被解决 , 同样的开发环境下 , 我把docker-compose发给狗爱 , 他的modd就正常 , 所以 他妈的很烦