2016-12-26 11 views
4

なぜこのエラーが発生しますか? ERROR: In file './docker-compose.yml', volume 'mariavolume' must be a mapping not a string.エラー:ファイル './docker-compose.yml'で、ボリュームは文字列ではなくマッピングでなければなりません

マイドッキングウィンドウ-コンファイルがこの1とほぼ同じです:https://docs.docker.com/compose/wordpress/

version: '2' 
services: 
    wordpress: 
    image: wordpress:latest 
    restart: always 
    depends_on: 
     - db 
    ports: 
     - 8080:80 
    environment: 
     WORDPRESS_DB_PASSWORD: example 
     WORDPRESS_DB_HOST: 3306 
    db: 
    image: mariadb 
    restart: always 
    environment: 
     MYSQL_ROOT_PASSWORD: example 
    volumes: 
     - maria_volume: /var/lib/mysql 
volumes: 
    maria_volume: ~/mariadb 

答えて

0

この試してみてください。私は自分自身としての最後の行為として、同じ問題に実行していた

volumes: 
     - maria_volume: /var/lib/mysql 
volumes: 
    maria_volume: 
     external: 
      name: ~/mariadb 
+0

おかげで、それは私にこの構文エラー与える: 'volumes.maria_volume.externalが無効なが含まれていますが型、それはブール値またはオブジェクトでなければなりません ' – Richard

+1

スペースは重要です:' name: ... ' – Sebastian

0

を絶望私は置いてみた

volumes: 
    - maria_volume: /var/lib/mysql 
の前に
environment: 
    MYSQL_ROOT_PASSWORD: example 

私はここに適用される魔法の種類がわからないが、私の場合には、それは私に教えてください

を働きました!

+1

ありがとうございます、はい、これは動作しますが、あなたはもはや単一のあなたの作成ファイル全体に名前付きのボリュームがあります。これは、サービスバージョン1で手動で行います。ドッカーは、フォルダにハードコードされたスタイルを作成します。 – Richard

4

残念ながら、このような機能はありません。

docker-composeでトップレベルボリュームをマップすることはできません。

  • がコンテナあたりの体積を追加し、そこにそれをマップ:ここで

    はオプションです。 (ダニエルが行ったような)here

  • 作成の外にボリュームを作成し(マッピングあり)、あなたの作成に使用します。私にとって

    volumes: 
        maria_volume: 
         external: 
          name: volume-name 
    
0

これは動作します:#1 docker_compose.ymlで

volumes: 
    postgres_data: {} 
    static: { } 
関連する問題