docker-volume在主机上存放docker-volume的位置在哪里?

考虑下面的docker-compose文件

 version: "2" services: postgres: image: postgres:9.6 volumes: - ./vol_folder:/var/lib/postgresql ports: - "5432:5432" 

这是我在我的mac上的命令历史logging

 docker-compose up psql -h 192.168.99.100 -p 5432 -U postgres create table test (my_id bigserial primary key); INSERT INTO test (my_id) values (1); SELECT * FROM test; \q 

最初我以为上述命令会导致.sql文件在主机的./vol_folder中创build。 但是我在./vol_folder不到任何.sql文件,而只是./vol_folder的空data目录

此外,如果我docker-compose downdocker-compose up再次docker-compose up我可以看到我的数据库中的数据现在已经消失。

我怀疑在映像运行时创build数据时,数据不会被存储回./vol_folder因此,当我重新启动时,主机上没有任何东西需要挂载。

所以我想我的问题是存储在我的主机中的卷在哪里? docker工人只有一种方式(例如主机数据到容器)不是两种方式?

卷通常会存储在/var/lib/docker/volumes/

要了解更多信息,请尝试以下命令

 docker volume ls docker volume inspect <volume identifier> 

另请参阅: https : //www.linux.com/learn/docker-volumes-and-networks-compose