38271


macでdocker-composeを使っています。起動等がかなり遅いのでdocker-syncを使おうとしたのですが  
上手く動きません。解決法をご存知でしたら教えていただきたく。  
以下が設定した内容です。

docker-compose.yml

[code]

    hoge_web:
      container_name: hoge_web
      build: .
      command: ./script/start
      ports:
        - 3000:3000
        - 6379:6379
      volumes:
        - volume-sync:/usr/local/hoge:nocopy
        - ../gems:/hoge_gems
      links:
        - hoge_db
    
    hoge_db:
      container_name:hoge _db
      image: mysql
      volumes:
        - ../mysql:/var/lib/mysql
      environment:
        MYSQL_DATABASE: hoge_development
        MYSQL_USER: hoge
        MYSQL_ROOT_PASSWORD: hoge
      ports:
        - 3306
    
    hoge_web:
      volumes:
        volume-sync:
          external: true
    
[/code]

docker-sync.yml

[code]

    version: "2"
    
    syncs:
      volume-sync:
        src: ../hoge
    
[/code]

実行時に出たエラーです。

[code]

    hoge-74noMacBook-Pro:docker$ docker-sync start
              ok  Starting native_osx for sync volume-sync
         success  Sync container started
         success  Starting Docker-Sync in the background
    hoge-74noMacBook-Pro:docker$ docker-compose up --build
    ERROR: The Compose file './docker-compose.yml' is invalid because:
    hoge_web.volumes contains an invalid type, it should be an array
    
[/code]

バージョンは以下になります。

[code]

    hoge-74noMacBook-Pro:docker$ docker-compose -v
    docker-compose version 1.14.0, build c7bdf9e
    hoge-74noMacBook-Pro:docker$ docker -v
    Docker version 17.06.2-ce, build cec0b72
    hoge-74noMacBook-Pro:docker$ docker-sync -v
    0.4.6
    
[/code]


CC BY-SA 3.0
2017-09-28T01:34:01.713
38247
2017-09-28T13:51:39.883
10851
question
ruby-on-rails macos docker docker-compose
macでdockerを使うと遅いのでdocker-syncを入れたが上手く動かない


docker-syncの解決方法では無いですが、以下のcachedオプションをつけることで速くなりました。

[code]

    volumes:
      - ../hoge:/usr/local/hoge:cached
      - ../gems:/hoge_gems:cached
    
[/code]


CC BY-SA 3.0
2017-09-28T10:17:56.260
38268
2017-09-28T10:17:56.260
10851
38247
answer


末尾の

[code]

      volumes:
        volume-sync:
          external: true
    
[/code]

が`hoge_web:`以下にありますが、この`volumes`はdocker-compose.ymlのトップレベルにあるべきものではないですか？


CC BY-SA 3.0
2017-09-28T13:51:39.883
38271
2017-09-28T13:51:39.883
2376
38247
answer