postgres的docker安装-精选

一、安装命令

复制代码
docker run -d \
  --name postgres18 \
  -e POSTGRES_PASSWORD=12344 \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_DB=postgres \
  -p 5432:5432 \
  -v /postgress/data:/var/lib/postgresql \
  --restart=unless-stopped \
  --log-driver json-file \
  --log-opt max-size=100m \
  --log-opt max-file=3 \
  postgres:18.4-alpine3.23

二、解释

  • docker run -d

    • docker run:启动一个新的容器。

    • -d:以后台模式(detached mode)运行,容器会在后台运行,不会占用你的终端。

  • --name postgres18

    • 为容器指定一个名字叫 postgres18,方便后续管理(如 docker stop postgres18)。
  • -e POSTGRES_PASSWORD=122344

    • 设置环境变量,定义 PostgreSQL 超级用户 postgres 的密码为 122344这是一个安全风险,请务必在实际使用中改为强密码。
  • -e POSTGRES_USER=postgres

    • 设置环境变量,指定超级用户的用户名为 postgres(通常保持默认)。
  • -e POSTGRES_DB=postgres

    • 设置环境变量,指定容器启动时自动创建的默认数据库名称为 postgres
  • -p 5432:5432

    • 端口映射 。将宿主机的 5432 端口映射到容器的 5432 端口。这样,你就可以通过 localhost:5432服务器IP:5432 来访问数据库了。
  • -v /postgress/data:/var/lib/postgresql

    • 数据持久化(Volumes) 。将宿主机目录 /postgress/data 挂载到容器内的 /var/lib/postgresql 目录。这是最关键的一步,它确保所有数据库文件都存储在宿主机上,即使容器被删除,数据也不会丢失。
  • --restart=unless-stopped

    • 重启策略。设置容器在退出时总是自动重启,除非是用户主动停止的。这能保证服务器重启后,数据库容器会自动恢复运行。
  • --log-driver json-file--log-opt

    • 日志管理 。限制容器日志的大小。max-size=100m 表示单个日志文件最大 100MB,max-file=3 表示最多保留 3 个文件。这能有效防止日志文件无限增长占满磁盘空间。
  • postgres:18.4-alpine3.23

    • 指定使用的镜像名称和标签。这个镜像基于 Alpine Linux 3.23,包含了 PostgreSQL 18.4 版本。