Mac配置postgresql容器并连接

2022-11-26 02:09:39 浏览数 (1)

配置本机的psql环境

安装psql(以15版本为例)

代码语言:shell复制
brew install postgresql@15

配置环境变量

代码语言:shell复制
echo 'export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH"' >> ~/.zshrc
source .zshrc

启动psql服务

代码语言:shell复制
brew services start postgresql@15

验证

psql安装后默认数据库用户名即当前用户名(不是postgres,是当前的用户名),默认会创建一个名为postgres的数据库。

可通过如下命令测试psql是否安装成功

代码语言:shell复制
psql -d postgres

如出现如下内容,代表安装成功,输入exit退出数据库即可。

代码语言:txt复制
psql (15.1 (Homebrew))
Type "help" for help.

postgres=# 

配置docker

安装docker

参考docker官网。macos安装docker比较方便,只需安装docker desktop即可

https://www.docker.com/

拉取psql镜像

首先通过docker search搜索需要的镜像

代码语言:shell复制
docker search postgresql

拉取你需要的镜像

代码语言:shell复制
docker pull postgres

根据镜像创建容器

代码语言:shell复制
docker run -it -d --name psql -e POSTGRES_USER=vin -e POSTGRES_DB=testdb -e POSTGRES_PASSWORD=vin -p 20000:5432 postgres

参数说明:

  • -it -d 这两个参数一般同时使用,保证 container 以交互的方式在后台运行。
  • --name 指定容器名
  • -e POSTGRES_USER=vin 指定数据库用户名
  • -e POSTGRES_PASSWORD=vin 指定数据库密码
  • -e POSTGRES_DB=testdb 创建名为testdb的数据库
  • -p 20000:5432 将主机的端口与容器暴露的端口进行映射,访问主机的20000端口即访问容器的5432端口
  • postgres 镜像名,就是之前docker pull的镜像

验证

使用docker ps命令查看运行中的容器

出现类似结果代表容器启动成功

代码语言:txt复制
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                     NAMES
66ff603f3779   postgres   "docker-entrypoint.s…"   7 seconds ago   Up 6 seconds   0.0.0.0:20000->5432/tcp   psql

连接

代码语言:shell复制
psql -p 20000 -U vin -W -d postgres -h localhost

参数说明

  • -p 指定数据库连接的端口,由于上面配置了端口映射20000->5432,所以需要指定20000端口
  • -U 数据库用户名,需要和上面创建容器时制定的用户名相同
  • -W 在运行命令后会要求输入密码
  • -d 指定连接的数据库名
  • -h 指定连接主机ip,这里由于是本机的docker需要指定为localhost
使用jetbrainsIDE自带的数据库管理工具连接示例使用jetbrainsIDE自带的数据库管理工具连接示例

0 人点赞