在 Ubuntu 22.04 上使用 Docker Compose 来安装和运行 PostgreSQL 数据库的过程如下:
1. 创建 Docker Compose 文件
在项目文件夹中创建一个 docker-compose.yml
文件,以配置 PostgreSQL 数据库的服务。
mkdir postgres_docker
cd postgres_docker
touch docker-compose.yml
dockercomposeyml_12">2. 配置 docker-compose.yml
在 docker-compose.yml
中定义 PostgreSQL 服务的配置,设置数据库名称、用户名和密码等。
version: '3.8'
services:
postgres:
image: postgres:14 # 使用 PostgreSQL 14 版本,你可以选择其他版本
container_name: postgres_container # 容器名称
environment:
POSTGRES_DB: mydatabase # 数据库名称
POSTGRES_USER: myuser # 数据库用户名
POSTGRES_PASSWORD: mypassword # 数据库密码
volumes:
- pg_data:/var/lib/postgresql/data # 持久化数据卷
ports:
- "5432:5432" # 映射端口
volumes:
pg_data:
3. 运行 Docker Compose
在终端中运行以下命令来启动 PostgreSQL 容器:
docker-compose up -d
这个命令会下载 PostgreSQL 的 Docker 镜像并启动容器。
4. 验证 PostgreSQL 是否运行
要确认 PostgreSQL 容器是否已成功启动,可以使用以下命令查看正在运行的容器:
docker ps
你应该会看到一个名为 postgres_container
的容器在端口 5432
上运行。
5. 连接到 PostgreSQL 数据库
可以使用 psql
客户端连接到 PostgreSQL 数据库,或者通过任何 PostgreSQL GUI 工具(如 DBeaver、pgAdmin)连接。也可以直接进入容器并使用 psql
:
docker exec -it postgres_container psql -U myuser -d mydatabase
这将打开 psql
命令行界面,连接到 mydatabase
数据库。
6. 停止和删除容器
如果想停止并删除容器,可以使用以下命令:
docker-compose down
这将停止 PostgreSQL 容器,并释放端口 5432
。
完整配置总结
现在,你的 docker-compose.yml
文件中配置了 PostgreSQL,并且数据将保存在一个持久化卷中。你可以通过端口 5432
访问 PostgreSQL 数据库,并根据需要修改 POSTGRES_DB
、POSTGRES_USER
和 POSTGRES_PASSWORD
的值来设置数据库名称、用户名和密码。