2016-06-04 1 views
4

docker-compose.yml 파일에 이상한 오류가 나타납니다.Docker 작성 오류 "파일에서 ./docker-compose.yml ', 서비스'punjab '은 문자열이 아닌 매핑이어야합니다."

나는 stack punjab connection manager 인 ejabberd와 mysql에 대한 도커 작성 파일을 준비했다. 내가 명령이 명령 줄에서 나는이 고정 표시기-compose.yml 파일이 같은 디렉토리로부터 고정 표시기-구도를 실행하면 아래

이 나는 ​​고정 표시기-compose.yml 파일

version: '2' 
services: 
    punjab: 
    image:punjab 
    ports 
    - 5280:5280 
    links 
    - ejabbberd:ejabberd 
    ejabberd: 
    image: ejabberd 
    depends-on: 
     - mysql 
    links: 
     - mysql:mysql 
    mysql: 
    image:mysql 

입니다 다음 오류가 발생합니다.

오류 : 파일 './docker-compose.yml'에서 'punjab'서비스는 문자열이 아닌 매핑이어야합니다.

yamllint를 사용하여 yml 파일을 구문 분석했는데 파일의 형식이 올바르게 지정되었습니다.

답변

9

이론적으로 파일 형식이 올바르게 보일 수도 있지만 잘못된 부분이 있습니다.

그들은 다음과 같습니다

  1. 사용 depends_on 대신 depends-on 즉 올바른 구문이기 때문이다.

  2. image: punjab처럼 이미지를 알려주기 전에 공백을 사용하십시오. 그들은 당신의 로컬 저장소에 존재해야하므로

  3. ports

    links는 펀 자브 서비스에, 당신은 대장에게 ejabberdpunjab은 도커 허브에 존재하지 않는 :

  4. 이미지를 잊어 버려.

이 사용하는 예입니다 docker-compose.yml :

version: '2' 
services: 
    punjab: 
    image: punjab 
    ports: 
     - "5280:5280" 
    links: 
     - ejabberd 

    ejabberd: 
    image: ejabberd 
    depends_on: 
     - mysql 
    links: 
     - mysql 

    mysql: 
    image: mysql 
+0

감사 @Caue ... depends_on이 문제와 누락 된 세미콜론이었다 ejabberd와 펀 자브 내 로컬 고정 표시기 시스템에서 이미지입니다 . –

+0

아무것도, 나는 그것이 작동했기 때문에 기쁘다 :) –

관련 문제