docker 运行postgresql 极限简洁教程

首先要拉取 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设置的环境变量来,

posted @ 2024-02-28 14:40  刘老六  阅读(4929)  评论(0编辑  收藏  举报