小编kev*_*evP的帖子

docker-compose 在主机中存储的 docker 卷在哪里?

考虑以下docker-compose文件

version: "2"
services:
  postgres:
    image: postgres:9.6
    volumes:
      - ./vol_folder:/var/lib/postgresql
    ports:
      - "5432:5432"
Run Code Online (Sandbox Code Playgroud)

这是我的命令历史记录 mac

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
Run Code Online (Sandbox Code Playgroud)

本来我认为上面的命令会导致在主机中.sql创建一个文件./vol_folder。但我没有看到任何.sql文件,./vol_folder而只是一个空data目录./vol_folder

此外,如果我docker-compose downdocker-compose up我再次可以看到数据库中的数据我现在没有了。

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

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

postgresql docker docker-compose

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

docker ×1

docker-compose ×1

postgresql ×1