我对通过 docker-compose 文件传递的环境变量有疑问。
我有链码,它在启用安全性时进行安全检查。它检查是否通过 core.SecurityEnabled() api 启用了安全性。我使用 docker-compose env 启用/禁用安全性。变量 CORE_SECURITY_ENABLED。
这在开发模式下工作正常。但是,当我在非开发模式下部署链代码时,我得到 core.SecurityEnabled() 为 false,尽管我的 env 变量被传递为 true。我检查了码头集装箱。运行 peer 的 Docker 容器,在 env 命令上返回 env 变量 CORE_SECURITY_ENABLED=true。但是,运行链码的 docker 容器没有环境变量 CORE_SECURITY_ENABLED。它将从设置为 false 的 core.yaml 中获取值。
这是按照设计吗?在生产模式下,我们是否应该在 core.yaml 文件中进行更改,而不是依赖通过 docker-compose 传递的环境变量?