tutorial/Writerside/topics/Docker_PostgreSQL.md
2025-04-20 23:11:40 +08:00

4.0 KiB
Raw Blame History

Docker安装PostgresSQL指南

前言

本文将介绍如何在Docker中安装PostgreSQL数据库。

Docker安装步骤

1. 拉取PostgreSQL镜像

注意下方命令拉取的是最新版本的PostgreSQL镜像如果你需要指定版本请使用

docker pull postgres:指定版本号

命令

docker pull postgres

执行结果

image-20250420104553777

2. 启动PostgreSQL容器

docker run --name my-postgres \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -p 5432:5432 \
  -v /var/service/postgresql/my-postgres/data:/var/lib/postgresql/data \
  --restart unless-stopped \
  -d postgres

参数说明:

  • --name:为容器指定名称

  • -e POSTGRES_PASSWORD设置postgres用户的密码(必须)

  • -v参数将容器内的数据目录映射到主机目录。

    • 对于-v /var/service/postgresql/my-postgres/data:/var/lib/postgresql/data前者路径是主机路径后者为容器中路径
  • --restart unless-stopped 表示:

    1. 当Docker守护进程启动时自动启动这个容器
    2. 如果容器正常退出(手动停止),则不会自动重启
    3. 如果容器异常退出(崩溃),会自动重启
    4. 当然你可以使用其它策略,或者不选择策略

    其他可选的restart策略

    • --restart no:不自动重启(默认值)
    • --restart on-failure[:max-retries]:只在非正常退出时重启,可指定最大重试次数
    • --restart always:总是重启,无论退出状态如何(包括手动停止后)
  • -p 5432:5432:将容器端口映射到主机端口

  • -d:后台运行容器

注:如果不想当你删除容器时数据丢失,请将容器内的数据目录挂载到主机目录中

执行结果

image-20250420111459451

验证容器是否启动,请执行docker ps命令

image-20250420111643192

3. 连接到PostgreSQL容器

docker exec -it postgres psql -U postgres
  • -it:交互式运行
  • -U postgres指定用户名为postgres

4. 创建数据库

CREATE DATABASE mydatabase;

5. 退出PostgreSQL容器

\q

Docker Compose安装步骤

这个可以允许你不预先安装镜像,文件执行时会自动帮你下载,因此更建议使用此种方式

1. 创建docker-compose.yml文件

services:
  postgres:
    image: postgres:latest
    container_name: my-postgres
    environment:
      POSTGRES_PASSWORD: mysecretpassword # 必填,数据库访问密码
      POSTGRES_USER: myuser  # 可选,自定义用户名
      POSTGRES_DB: mydb      # 可选,自定义初始数据库
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data # 声明挂载的数据卷所映射的目录
volumes:
  postgres_data: # 声明所使用的数据卷

示例步骤

首先我们找到一个合适的目录,比如/var/service/postgresql/my-postgres 直接 cd /var/service/postgresql/my-postgres 然后执行 nano docker-compose.yml 将上面的内容复制进去然后按Ctrl+X再按Y再按Enter保存文件

image-20250420112228948

2. 启动服务

一般建议在你所使用的工作平台创建并编辑好Docker-Compose文件再上传到你的Linux服务器中(你执行命令的目录下必须有这个文件)

# 执行下方命令
docker-compose up -d

注意:

也许你执行上方命令会提示

image-20250420112323250

这是因为你的Docker Compose版本已经不支持这种方式了请使用下方命令

docker compose up -d

image-20250420112546002

怎么样?是不是更方便

总结

本文介绍了如何在Docker中安装PostgreSQL数据库.