0


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、客户端链接

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/weixin_33347188/article/details/141468575
版权归原作者 0110编程之路 所有, 如有侵权,请联系我们删除。

“Docker 安装 PostgreSql”的评论:

还没有评论