赞
踩
首先要拉取 pq的image:
docker pull postgres
,
拉取后可以用
docker image ls
查看是否拉取镜像成功。
同理,一同拉取pgadmin4方便查看数据:
docker pull dpage/pgadmin4
。
然后运行image,生成container,运行pq和pgadmin:
注意,因为数据库需要存储空间,配合docker运行就需要volume,注意下方两种volume创建方式:
docker run -d -p 5432:5432 --name postgresql -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=pass123 postgres
--name 将postgresql 这个名字分配给这个实例,可以用这个直接启动容器,
-d 是detached模式运行,-p是映射端口,--name为container命名,
-v 是创建名为pgdata的volume,-e 是创建环境变量 。
或者 先创建volume
docker volume create postgres-volume
,
再创建pq container:
docker run -d --name=postgres13 -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e POSTGRES_PASSWORD=your_password postgres
-v 把容器挂载到刚创建好的volume上,
- -d 将以分离模式运行此容器,以便它在后台运行。
- --name 将名称“postgres13”分配给您的容器实例名字,通过这个名字以后可以直接启动
- -p会将 PostgreSQL 容器端口 5432 绑定到主机上的相同端口,外部通过5432这个命令可以直接访问
- -v选项将容器内的目录/var/lib/postgresql绑定到postgres-volume上,保证你以后的数据不会丢失
- -e设置环境变量。在这种情况下,PostgreSQL表示容器的密码
用
docker ps
可以查看容器是否正常运行
如果不正常运行,
docker logs 容器名
可以查看日志。
然后开启一个pgadmin 容器实例,这样可以通过web平台管理数据库:
docker run -d -p 5433:80 --name pgadmin4 -e PGADMIN_DEFAULT_EMAIL=test@123.com -e PGADMIN_DEFAULT_PASSWORD=123456 dpage/pgadmin4
打开浏览器访问pgadmin4:http://localhost:5433/
账户密码分别是 运行pgadmin时候设置的,
进入pgadmin 的dashboard知乎,创建服务器:
名字按照需要取一个:
主机地址写:host.docker.internal ,因为运行在docker里边,不能写localhost,
用户名填写postgres,因为默认username是postgres,密码根据创建pq时候填写的-e设置的环境变量来,
当然我们也可以使用fastgpt本身提供的docker-compose文件
- version: '3.3'
- services:
- mongodb:
- image: mongo:6.0.4
- container_name: mongodb
- restart: always
- privileged: true
- ports:
- - 27017:27017
- environment:
- - MONGO_INITDB_ROOT_USERNAME=admin
- - MONGO_INITDB_ROOT_PASSWORD=123456
- volumes:
- - /root/mongo/data:/data/db
- - /root/mongo/logs:/var/log/mongodb
- - /etc/localtime:/etc/localtime:ro
- - /root/mongo/conf:/data/conf
- pg:
- image: ankane/pgvector:v0.4.2
- container_name: pg
- restart: always
- ports:
- - 8100:5432
- environment:
- # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- - POSTGRES_USER=admin
- - POSTGRES_PASSWORD=123456
- - POSTGRES_DB=supergpt
- volumes:
- # 刚创建的文件
- - /root/pg/init.sql:/docker-entrypoint-initdb.d/init.sh
- - /root/pg/data:/var/lib/postgresql/data
- - /etc/localtime:/etc/localtime:ro

此处操作主要还是方便大家学习pg数据的基础操作和查看数据库内部的数据。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。