Docker 安装 PostgreSql

1、镜像获取

在  https://hub.docker.com/_/postgreshttps://hub.docker.com/_/postgres/tags 中查看“PostgreSQL数据库镜像”可用版本

2、镜像拉取

docker pull postgres:11.16

3、创建数据卷

# 创建数据卷用于挂载docker数据目录到宿主机
docker volume create pgdata

4、启动

docker run --name pg9_yun -p 5432:5432 -e POSTGRES_PASSWORD=123456 -v pgdata:/var/lib/postgresql/data --restart=always -d postgres:11.16

命令解释

--name pgsql: 指定容器的名称为 pgsql。
-p 5432:5432: 将容器的 5432 端口映射到宿主机的 5432 端口。
-e POSTGRES_PASSWORD=123456: 设置 PostgreSQL 的管理员密码为 abc123。
-v pgdata:/var/lib/postgresql/data: 挂载一个名为 pgdata 的卷到容器内的 /var/lib/postgresql/data 目录。这将用于存储 PostgreSQL 的数据文件。
--restart=always: 设置容器在宿主机启动时自动重启。
-d: 在后台运行容器。
postgres:11.16: 指定要使用的 Docker 镜像为 postgres:11.14,即 PostgreSQL 11.16 版本。



#注意事项
卷的创建:
如果 pgdata 卷不存在,Docker 会在第一次运行容器时自动创建它。
如果 pgdata 卷已经存在,它将被复用。
持久化数据:
使用 -v 参数挂载卷可以确保 PostgreSQL 的数据文件持久化存储,即使容器被删除或重建,数据也不会丢失

5、查看

[root@bogon pgdata]# docker ps
CONTAINER ID   IMAGE            COMMAND                   CREATED         STATUS         PORTS                                       NAMES
b6de70349e00   postgres:11.16   "docker-entrypoint.s…"   3 seconds ago   Up 2 seconds   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp   pg9_yun

6、进入容器

[root@bogon _data]# docker exec -it pg9_yun bash
root@b6de70349e00:/# su - postgres
postgres@b6de70349e00:~$ psql
psql (11.16 (Debian 11.16-1.pgdg90+1))
Type "help" for help.

7、创建用户、库、授权

# 创建用户
postgres=# create user test with password '123456';
CREATE ROLE
# 创建数据库
postgres=# create database tct owner test;
CREATE DATABASE
# 授权
postgres=# grant all privileges on database tct to test;
GRANT
#退出
postgres=# \q  

8、客户端链接

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值