docker-compose 유효하지 않은 유형, 문자열이어야합니다.


19

docker-compose.yml 파일에 다음 환경 변수가 구성되어 있습니다.

version: '3'
services:
  server:
    ports:
     - 13045:3000
    environment:
     - NODE_CONFIG: '{"DATABASE_URL":"http://db:5984"}'

을 실행하려고하면 docker-compose up이 오류가 발생합니다.

services.server.environment contains {"NODE_CONFIG": "{\"DATABASE_URL\":\"http://db:5984\"}"}, which is an invalid type, it should be a string

환경 변수를 JSON 문자열로 설정해야합니다 ( https://github.com/lorenwest/node-config/wiki/Environment-Variables#node_config 참조 )

내가 여기서 잘못하고 있습니까? 어떻게 든 작동하도록 할 수 있습니까?


나는 문제가, 중간에 결장에서 오는에 따라 생각 GitHub의 문제에이 댓글 선두 제거 (작동해야하는 대신 목록의 딕셔너리를 사용 -하기 전에 NODE_CONFIG
Tensibai

답변:


9

도커 작성 파일 참조가 명시 하는 환경 변수는 다음과 같이 정의되며, VARIABLE=value배열 요소. 귀하의 경우 docker-compose.yml 파일을 다음과 같이 변경해야합니다.

version: '3'
services:
  server:
    ports:
     - 13045:3000
    environment:
     - NODE_CONFIG='{"DATABASE_URL":"http://db:5984"}'

아니. 먼저 시도했지만 작동하지 않습니다.
Tri Nguyen

@ TriNguyen 이상한, 이것은 나를 위해 작동
Hexaholic

글쎄, 빌드는 끝났지 만 노드 프로세스는 선택하지 않습니다.
Tri Nguyen

2

args 요소 자체는 문자열이어야합니다.

  args:
    - 'MAVEN_USER=$MAVEN_USER'
    - 'MAVEN_PASSWORD=$MAVEN_PASSWORD'

예, 이것은 오늘 저에게 효과적이었습니다.
Adam Mendoza

2

변수 앞에서 대시를 제거해야합니다. 다음과 같은 구문을 사용하십시오.

   environment:
     NODE_CONFIG: '{"DATABASE_URL":"http://db:5984"}'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.