我有包含此数据的 docker-compose.yaml 文件:
services:
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: p2ostgres1
ports:
- '6000:5432'
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
运行
docker-compose up
并对数据库进行一些更改后,即使我更改 POSTGRES_PASSWORD: p2ostgres1
字段中的密码,我也可以再次访问该数据库。我可以访问表格和里面的值。
这样可以吗?这样安全吗?
$ docker compose down
或 docker rm <id>
$ docker compose up
应删除 docker 容器
docker rm <id>
或 docker compose down
,然后创建新的 docker 容器以应用新密码
docker 是如何工作的,它默认从 hub.docker.com 拉取公共镜像。
现在,一个容器(即在您的操作系统上运行)构建在基础映像之上
postgres
,即 READ-ONLY
但正在运行的容器具有原始映像的副本、READ-WRITE
文件系统和其他配置,如 metadata
、IPAddress
等
因此,当新容器与
docker compose up
文件或 docker-compose.yml
一起旋转时,它会创建一个容器,其 docker run
是永久的,直到图像未被 IPAddress
或 docker compose down
删除。