This is an explanation of the video content.
 Everything to games
Let's make life more fun, so we convert everything to games.
103

 |   | 

docker安装postgresql

要在 Docker 中启用 PostgreSQL 并设置密码,可以按照以下步骤进行操作:

创建一个用于存储 PostgreSQL 数据的 Docker Volume:

docker volume create pgdata

运行 PostgreSQL 容器,将其与刚才创建的 Volume 关联,并设置 POSTGRES_PASSWORD 环境变量以指定数据库管理员密码:

docker run --name postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -v pgdata:/var/lib/postgresql/data -d postgres:latest

在这个命令中,postgres 是容器的名称,mysecretpassword 是数据库管理员密码,pgdata 是刚才创建的 Volume 名称。

进入 PostgreSQL 容器并使用 psql 命令登录。您可以通过以下命令进入 PostgreSQL 容器:

docker exec -it postgres psql -U postgres

修改 postgres 用户的密码。在 psql 命令提示符下,运行以下命令:

ALTER USER postgres PASSWORD 'newpassword';

其中,newpassword 是您想要设置的新密码。

退出 psql 命令行界面并退出容器:

\q
exit

接下来,如果您希望限制容器使用的空间大小,可以使用 –storage-opt 参数来设置容器的存储限制。例如,要将容器的最大存储空间限制为 1GB,可以使用以下命令:

注意:Docker 要求使用了 pquota 挂载选项的 XFS 文件系统才能支持容器存储限制。因此,如果您要使用 –storage-opt 参数,请确保您的文件系统符合以下条件:

使用 XFS 文件系统。 在挂载时指定 pquota 选项。

docker run --name postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -v pgdata:/var/lib/postgresql/data --storage-opt size=1G -d postgres:latest

在这个命令中,–storage-opt size=1G 参数将容器存储大小限制为 1GB。

如果在运行 PostgreSQL 容器时没有使用 Docker Volume 来存储数据,容器将无法持久化数据库数据。这意味着每次重新启动容器时,都会创建一个全新的数据库,其中不包含之前创建的表、记录和配置等信息。

因此,为了实现数据的持久化存储,您需要创建一个 Docker Volume 并将其与 PostgreSQL 容器关联。docker volume create pgdata 命令用于创建名为 pgdata 的 Docker Volume,并将其挂载到容器的 /var/lib/postgresql/data 目录中。这将确保数据库数据始终保存在 Docker Volume 中,即使容器被删除或重新创建,也能够恢复之前的数据。

如果不使用 Docker Volume 来存储数据,则必须使用类似于挂载主机目录的方式将本地文件系统目录挂载到容器中,以便持久化保存 PostgreSQL 数据。然而,这种做法会导致数据难以管理、备份和迁移,并且可能会引起安全问题。因此,使用 Docker Volume 是一种更加安全和可靠的方法来对 PostgreSQL 数据进行持久化存储。

103 🗄️Database ↦ PostgreSQL __ 156 字
 PostgreSQL #0