在 Alpine Linux 下通过 Docker 部署 PostgreSQL 服务器

简要介绍

Docker 是一个开源的容器化平台,它使得开发者能够轻松创建、部署和运行应用程序。通过使用 Docker,程序员可以把应用及其所有依赖打包在一个轻量级的容器中,这样可以确保在不同环境中的一致性。PostgreSQL(简称 psql)是一种强大的开源关系型数据库管理系统,因其可靠性、功能丰富性和扩展性而受到广泛使用。结合 Docker 和 PostgreSQL,我们可以快速搭建一个开发环境,便于测试和开发。

在 Alpine Linux 下通过 Docker 部署 psql 服务器的详细教程

步骤 1: 安装 Docker

首先,确保你的 Alpine Linux 系统上已经安装了 Docker。如果没有,可以通过以下命令进行安装:

复制代码
apk add docker

安装完成后,启动 Docker 服务并设置为开机自启:

复制代码
service docker start
rc-update add docker boot

步骤 2: 拉取 PostgreSQL 镜像

接下来,我们需要从 Docker Hub 拉取 PostgreSQL 官方镜像:

复制代码
docker pull postgres

步骤 3: 创建 Docker 网络(可选)

为了让 PostgreSQL 容器与其他容器能够相互通信,可以创建一个自定义网络:

复制代码
docker network create mynetwork

步骤 4: 启动 PostgreSQL 容器

现在我们可以启动 PostgreSQL 容器。以下命令中,我们设置了环境变量,指定了数据库的用户名、密码和数据库名:

复制代码
docker run --name mypostgres \
  --network mynetwork \
  -e POSTGRES_USER=myuser \
  -e POSTGRES_PASSWORD=mypassword \
  -e POSTGRES_DB=mydb \
  -p 5432:5432 \
  -d postgres
相关参数解释:
  • --name mypostgres: 指定容器的名称为 mypostgres
  • --network mynetwork: 将容器连接到 mynetwork 网络。
  • -e POSTGRES_USER=myuser: 设置数据库用户名为 myuser
  • -e POSTGRES_PASSWORD=mypassword: 设置数据库密码为 mypassword
  • -e POSTGRES_DB=mydb: 创建一个名为 mydb 的数据库。
  • -p 5432:5432: 将容器的 5432 端口映射到主机的 5432 端口。
  • -d: 后台运行容器。

步骤 5: 验证 PostgreSQL 是否正常运行

通过以下命令查看容器的运行状态:

复制代码
docker ps

如果你看到 mypostgres 容器在运行,说明 PostgreSQL 部署成功。你可以使用 psql 客户端或任何数据库管理工具连接到数据库,使用以下连接字符串:

复制代码
postgresql://myuser:mypassword@localhost:5432/mydb

总结

通过以上步骤,我们在 Alpine Linux 上成功使用 Docker 部署了 PostgreSQL 服务器。这样的环境搭建方式轻便、灵活,适合开发和测试使用。希望这篇博客能对你有所帮助!

相关推荐
oMcLin6 小时前
2025年必备的Docker命令指南与实战示例
docker·容器·eureka
AtoposのCX3306 小时前
Docker运行hello-world镜像失败或超时
运维·docker
sun cat6 小时前
Docker详细介绍(6)
docker·容器·docker-compose
马猴烧酒.6 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
北京迅为7 小时前
《【北京迅为】itop-3568开发板NPU使用手册》- 第 7章 使用RKNN-Toolkit-lite2
linux·人工智能·嵌入式·npu
Dragon~Snow7 小时前
Linux Centos9 安装 Elasticsearch
linux·elasticsearch·jenkins
熊延7 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
Jia ming7 小时前
跟踪器与事件使用举例
linux·事件·跟踪器
生活很暖很治愈7 小时前
Linux——基础IO&软硬链接
linux·ubuntu
2401_858936887 小时前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言