Docker安装及配置PostgreSQL

本文最后更新于:2024年10月9日 凌晨

1、前置条件

设备已安装docker:docker version检查版本。安装过程参考《Ubuntu安装docker环境及docker常用指令》

2、docker安装PostgreSQL

2.1、拉取PostgreSQL镜像

1
docker search postgres

image-20240911134408955

拉取上图中标红的官方镜像:

1
2
3
docker pull postgres
# 也可指定版本拉取
docker pull postgres:11.5

image-20240911134636344

完成后如下:

image-20240911134752386

查看拉取的镜像:

1
docker images

image-20240911135012288

2.2、创建PostgreSQL容器

创建镜像实例(容器)并运行:

1
2
3
4
5
6
7
8
9
10
# 创建容器名称为postgresql、账户admin、密码为123456!、新建数据库sonarqube_db的postgres镜像实例
docker run --name postgresql \
--restart=always \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=123456! \
-e POSTGRES_DB=sonarqube_db \
-p 5432:5432 \
-v /opt/postgres:/var/lib/postgresql/data \
-e ALLOW_IP_RANGE=0.0.0.0/0 \
-d postgres

其中-p后接映射端口,此实例下,将容器PostgreSQL默认端口映射到主机的5432端口上。ALLOW_IP_RANGE=0.0.0.0/0 允许任何主机访问,-v /opt/postgres:/var/lib/postgresql/data,做数据持久化,此目录需确保存在。

执行后,docker ps检查容器状态,创建的容器已运行:

image-20240911140016953

使用前面的账户名,连接到postgresql容器指定的数据库:

1
2
# 运行postgresql容器并使用admin连接到sonarqube_db数据库
docker exec -it postgresql psql -U admin -d sonarqube_db

psql为postgres控制指令。也可使用其他工具如navicat、datagrip等客户端连接到对应的数据库。

效果如下:

image-20240911140954521

\l列出所有的数据库:

image-20240911141428224

\q退出postgre命令行。

3.使用客户端连接

这里以Datagrip连接示例:新建->数据源->PostgreSQL

image-20240919140039580

进入配置页面,填写postgresql服务地址,就是装有postgresql的那台设备的IP,以及账户密码(前面创建镜像实例时配置的账户及密码):

image-20240919140544369

点击测试连接,一般docker环境按上述配置完后,连接时正常的:

image-20240919140745432

测试正常后,直接应用即可。

参考:

https://blog.csdn.net/hmx224_2014/article/details/136060525

https://moltke.cn/detail/163


Docker安装及配置PostgreSQL
http://www.codestar.top/2024/10/08/Linux/Docker安装及配置PostgreSQL/
作者
mini小新
发布于
2024年10月8日
更新于
2024年10月9日
许可协议