如何在golang dockertest.resource中使用dockersecret/环境变量而不是硬编码密码



我们使用以下代码对与数据库系统对话的服务进行单元测试。

https://sergiocarracedo.es/integration-tests-in-golang-with-dockertest/

MySQL根密码被硬编码在特定的行中,这会产生安全问题。有什么方法可以将其作为env变量或docker机密传递吗?

resource,err:=池。运行("mysql","5.7",[]字符串{"mysql_ROOT_PASSWORD=secret"}(

您可以使用环境变量。

  1. 首先,通过代码中的os.Getenv()获取env变量
mysqlPwd := os.Getenv("MYSQL_ROOT_PASSWORD")
  1. 然后使用-e选项运行docker
docker run -e MYSQL_ROOT_PASSWORD=secret

最新更新