此文章由 yrqin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yrqin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
今天用 Docker 做本地环境时遇到一个小问题。
目前在本地用 Docker 跑一个数据库服务,同时给几个不同的 web app 用。
(hosting 跑在家里的 Mac mini M1 上,需要的时候再通过 cloudflared 做隧道,对外当成公共网站用)
在dev和hosting环境中,都是仅跑一个数据库server,多个数据库 + 各自独立的用户,安全、清晰,也方便长期跑。
平时启动Docker容器没问题,问题出在跑测试时:
- 测试工具会自动建一个临时用的数据库
- 这一步需要数据库用户有「创建数据库」的权限
- 但在“本地当服务器用”的场景下,这个权限通常是被关掉的
于是就卡住了:
- 本地开发、跑测试 → 需要这个权限
- 本地 hosting、长期跑服务 → 不应该给
解决方案
用环境变量把场景分开:
- hosting(默认):权限收紧,模拟真实服务器
- dev:放开创建数据库权限,测试省心
Docker 启动时选模式即可。
直接使用claude code来帮忙做这些杂事,包括一步到位修改所有dev数据库用户的权限,省时省力。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x