使用docker搭建postgresql

使用Docker来搭建PostgreSQL数据库服务可以通过两种方式进行:使用Docker命令行接口(CLI)直接运行容器,或者使用Docker Compose来定义和运行多容器Docker应用程序。

使用Docker CLI

以下是一个使用Docker CLI运行PostgreSQL容器的例子:

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

解释各个参数的用途:

  • –name some-postgres:为容器指定一个名称some-postgres,这样你可以通过这个名称来引用容器,而不是使用自动生成的ID。
  • -e POSTGRES_PASSWORD=mysecretpassword:设置环境变量POSTGRES_PASSWORD,这是设置PostgreSQL账户密码的必要环境变量。此密码将用于postgres用户,这是默认的超级用户账
### 使用 Docker 部署 PostgreSQL 16.3 并配置远程访问 为了使用 Docker 成功部署 PostgreSQL 16.3 数据库并允许其接受来自外部网络的连接,需遵循一系列特定的操作指南。 #### 准备工作环境 确保主机已安装 Docker 环境,并具备足够的权限来运行容器化应用。对于某些情况下的服务部署,可能还需要挂载宿主机上的 `/var/run/docker.sock` 到容器内相应路径以便于管理和监控[^1];不过针对 PostgreSQL 的部署而言,这一步并非必需。 #### 下载官方镜像 通过执行命令 `docker pull postgres:16.3` 来获取最新的 PostgreSQL 版本 16.3 官方镜像文件。 #### 创建持久卷存储数据 为了避免因容器重启而导致的数据丢失问题,在启动之前应该先创建用于长期保存数据库文件的位置。可以利用如下指令建立名为 pgdata 的 Docker 卷: ```bash docker volume create pgdata ``` #### 启动 PostgreSQL 容器实例 接下来将以交互模式启动一个新的 PostgreSQL 实例,同时指定端口映射关系以及必要的环境变量: ```bash docker run \ --name some-postgres \ -e POSTGRES_PASSWORD=mysecretpassword \ -d postgres:16.3 ``` 上述命令中的 `-p 5432:5432` 参数表示将宿主机的 5432 TCP 端口转发到容器内部对应的默认监听地址上,从而实现对外部请求的支持。而设置密码则是出于安全性考虑所采取的重要措施之一。 #### 修改配置支持远程接入 为了让 PostgreSQL 能够响应远端客户端发起的查询操作,除了开放防火墙规则外,还需调整主配置文件 (`postgresql.conf`) 中有关 listen_addresses 和 host-based authentication (HBA) records 的设定项。可以通过编辑挂载点的方式直接修改这些参数,或者借助初始化脚本来完成自动化定制过程。 例如,可以在启动选项里加入自定义配置目录作为附加卷绑定进去: ```bash -v /path/to/custom/conf.d/:/etc/postgresql/postgresql.conf.d/ ``` 其中放置含有适当更改后的 `.conf` 文件片段即可生效。 另外值得注意的是,当涉及到敏感信息保护时,建议采用 SSL/TLS 加密传输通道以增强通信链路的安全等级。 #### 测试连通性验证成功与否 最后可选用 psql 工具或者其他图形界面应用程序尝试与新设立的服务节点建立会话链接,确认一切正常运作无误之后即宣告整个流程圆满结束。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值