使用以下设置运行docker-compose实用程序时:
version: "3"
services:
Database:
image: postgres
container_name: Database
restart: always
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: "*****" # TODO Переместить в .env
为数据库自动创建一个卷。显然,他的名字是一个哈希和,例如b8e00e114ac2d57b5907e0bd75cb046721b50eeff5d74f12a
。
由于在商业开发的条件下,需要组织与开发相关的所有内容,包括 Docker 镜像、容器和卷,因此您需要给卷起一个名称,以便您可以了解它属于哪个项目。怎么做?
不,它不是创建的。您尚未在配置中指定任何卷。您看到的很可能是在图像层之上创建的层。这些数据很容易丢失。
我建议阅读如何正确存储数据。
在您的情况下,它
docker-compose.yml
应该是这样的:docker volume ls
在这种情况下,它会给出类似这个名字的东西..._myproject
。不过最好还是不要使用volume,而是通过“bind mount”挂载宿主系统目录,这样可以提高磁盘工作的速度:
这
/var/docker/postgres
是主机系统的目录,用你清楚的方式调用它。