如何在 golang dockertest.resource 中使用 docker secret/environment 变量而不是硬编码密码
How to use docker secret/environment variable in golang dockertest.resource instead of hardcoded password
我们使用以下代码对与数据库系统对话的服务进行单元测试。
https://sergiocarracedo.es/integration-tests-in-golang-with-dockertest/
MySQL root 密码在特定行中被硬编码并造成安全问题。有什么办法可以将其作为环境变量或 docker 秘密传递吗?
资源,错误 := pool.Run("mysql", "5.7", []string{"MYSQL_ROOT_PASSWORD=secret"})
可以使用环境变量。
- 首先,通过代码中的
os.Getenv()
获取环境变量
mysqlPwd := os.Getenv("MYSQL_ROOT_PASSWORD")
- 然后 运行 带有
-e
选项的 docker
docker run -e MYSQL_ROOT_PASSWORD=secret
我们使用以下代码对与数据库系统对话的服务进行单元测试。
https://sergiocarracedo.es/integration-tests-in-golang-with-dockertest/
MySQL root 密码在特定行中被硬编码并造成安全问题。有什么办法可以将其作为环境变量或 docker 秘密传递吗?
资源,错误 := pool.Run("mysql", "5.7", []string{"MYSQL_ROOT_PASSWORD=secret"})
可以使用环境变量。
- 首先,通过代码中的
os.Getenv()
获取环境变量
mysqlPwd := os.Getenv("MYSQL_ROOT_PASSWORD")
- 然后 运行 带有
-e
选项的 docker
docker run -e MYSQL_ROOT_PASSWORD=secret