composeファイルのバージョン2以降で、YAMLのトップレベルにvolumes:を置いてボリュームの定義をし、service:内でそのボリューム名を指定するという書き方ができます。 version: "2" services: database: image: mariadb:10 volumes: - datastore:/var/lib/mysql ...(略)... volumes: datastore: Docker EngineやDocker Composeのドキュメントを見るとこんな感じで書いてあるかと思います。この書き方だとdatastoreはlocalというドライバを使用して/var/lib/docker/volumes/datastore/_dataあたりのディレクトリをコンテナ内にマウントするという動作になります。 消えちゃう問題 この方式は各サービスのvolume