2016-10-14 3 views
1

고정 변수 작성 파일을 통해 전달되는 환경 변수에 관한 질문이 있습니다.하이버더 환경 변수가 체인 코드를 실행중인 고정 컨테이너에 전달되었습니다.

보안이 가능할 때 보안 검사를하는 체인 코드가 있습니다. core.SecurityEnabled() API를 통해 보안이 활성화되었는지 확인합니다. docker-compose env를 사용하여 보안을 활성화/비활성화합니다. 변수 CORE_SECURITY_ENABLED.

이것은 dev 모드에서 정상적으로 작동합니다. 그러나 비 dev 모드에서 chaincode를 배포 할 때 내 env 변수가 true로 전달되었지만 core.SecurityEnabled()가 false로 표시됩니다. 나는 도커 컨테이너를 조사했다. 피어를 실행중인 Docker 컨테이너는 env 변수에서 CORE_SECURITY_ENABLED = true를 반환합니다. 그러나 체인 코드를 실행하는 도커 컨테이너에는 env 변수 CORE_SECURITY_ENABLED가 없습니다. false로 설정된 core.yaml에서 값을 가져옵니다.

이것은 디자인마다입니까? 프로덕션 모드에서 docker-compose를 통해 전달 된 env 변수에 의존하는 대신 core.yaml 파일을 변경해야합니까?

+0

어디에서나 답변을 찾을 수 없으므로 초보자 Jira [FAB-1188] (https://jira.hyperledger.org/browse/FAB-1188?filter=-2)에서 문제가 발생했습니다. – JavaD

답변

0

아래와 같이 도커 작성을 사용하여 CORE_SECURITY_ENABLED = true/false을 얻으려고합니다. 이런 식으로 환경 변수를 지정하려고 했습니까?

membersrvc: 
     image: hyperledger/fabric-membersrvc 
     ports: 
     - "7054:7054" 
     command: membersrvc 
    vp0: 
     image: hyperledger/fabric-peer 
     ports: 
     - "8085:7050" 
     - "8080:7053" 
     - "30303:30303" 
     - "30304:30304" 
     environment: 
     - CORE_PEER_ADDRESSAUTODETECT=true 
     - CORE_SECURITY_ENABLED=true 
     - CORE_SECURITY_PRIVACY=true 
     - CORE_VM_ENDPOINT=http://172.17.0.1:2375 
     - CORE_PEER_PKI_ECA_PADDR=membersrvc:7054 
     - CORE_PEER_PKI_TCA_PADDR=membersrvc:7054 
     - CORE_PEER_PKI_TLSCA_PADDR=membersrvc:7054 
     - CORE_LOGGING_LEVEL=DEBUG 
     - CORE_PEER_ID=vp0 
     - CORE_SECURITY_ENROLLID=test_vp0 
     - CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT 
     links: 
     - membersrvc 
     command: sh -c "sleep 35; peer node start --logging-level=DEBUG" 

FAB jira에서 질문에 대한 답변을 얻은 경우 친절하게이 게시물을 무시하십시오.