Docker安装部署Postgresql

这篇具有很好参考价值的文章主要介绍了Docker安装部署Postgresql。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:

Centos7.x + docker1.13.1 + postgres12

本文使用的是在镜像仓库直接pull的方式,非Dockfile的方式。

Postgresql的Dockerfile参考:https://github.com/docker-library/postgres/blob/master/12/alpine/Dockerfile

常用命令

docker命令大全:https://www.runoob.com/docker/docker-command-manual.html

请注意区分“镜像”和“容器”的。先创建镜像,然后通过镜像创建容器,一个镜像可以有多个容器。

镜像常用命令

命令

作用

docker image list

查询镜像列表

docker rmi -f 镜像ID

通过镜像ID删除

容器常用命令

docker run

容器运行

docker start/stop/restart

启动/停止/重启

docker rm 容器ID

删除容器

docker ps

容器查询,-a -q

docker exec -it 容器ID /bin/sh

进入容器命令行

docker volume create xxx

创建容器共享数据卷

docker volume inspect xxx

容器共享数据卷落盘

1.查询docker镜像

# docker search postgres

docker 部署postgresql,# PostgreSQL,docker,postgresql,Powered by 金山文档

2.下载docker镜像

# docker pull postgres:12.7

下载后,镜像查询,# docker image list

docker 部署postgresql,# PostgreSQL,docker,postgresql,Powered by 金山文档

3.创建本地卷

数据卷可以再容器之间共享

docker volume create PGDATA
docker volume inspect PGDATA
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/PGDATA/_data",
        "Name": "PGDATA",
        "Options": {},
        "Scope": "local"
    }
]

Mountpoint属性路径就是将来容器的data目录。

4.运行容器

docker run --name postgres12 -e POSTGRES_PASSWORD=postgres -p 5433:5432 -v PGDATA:/var/lib/postgresql/data -d postgres:12.7
  1. run:创建并运行一个容器

  1. --name:容器名称

  1. -e POSTGRES_PASSWORD:数据库密码

  1. -p:映射端口。前面端口是对外端口,后面端口是容器内使用端口。

  1. -v:PGDATA挂载到容器的/var/lib/postgresql/data (因为pg的Dockerfile声明的目录)

  1. -d postgres:12.7:使用image镜像的名称

返回一串字符,就是启动的容器ID。

docker 部署postgresql,# PostgreSQL,docker,postgresql,Powered by 金山文档
容器ID:b8e40f13e2f3
镜像名称:postgres:12.7
对外暴露端口:5433
容器名称:postgres12
pg数据库默认密码:postgres

5.查看日志

# docker logs b8e40f13e2f3

[root@sougou opt]# docker logs b8e40f13e2f3
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
...
2023-01-31 07:29:59.706 UTC [1] LOG:  starting PostgreSQL 12.7 (Debian 12.7-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2023-01-31 07:29:59.707 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2023-01-31 07:29:59.707 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2023-01-31 07:29:59.713 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-01-31 07:29:59.730 UTC [63] LOG:  database system was shut down at 2023-01-31 07:29:59 UTC
2023-01-31 07:29:59.734 UTC [1] LOG:  database system is ready to accept connections

6.进入容器使用psql

# docker exec -it b8e40f13e2f3 /bin/sh

root@sougou opt]# docker exec -it b8e40f13e2f3 /bin/sh
# psql -U postgres -p 5432
psql (12.7 (Debian 12.7-1.pgdg100+1))
Type "help" for help.

postgres=# select version();
                                                     version                                                      
------------------------------------------------------------------------------------------------------------------
 PostgreSQL 12.7 (Debian 12.7-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
(1 row)
# exit

7.使用数据库管理工具连接

docker 部署postgresql,# PostgreSQL,docker,postgresql,Powered by 金山文档

到此结束。文章来源地址https://www.toymoban.com/news/detail-745008.html

到了这里,关于Docker安装部署Postgresql的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker安装PostgreSQL

    安装 PostgreSQL 使用 Docker 相对简便,以下是一些步骤: 拉取 PostgreSQL 镜像: 在终端或命令行中执行以下命令,从 Docker Hub 拉取 PostgreSQL 镜像: 创建并运行 PostgreSQL 容器: 使用以下命令创建并运行 PostgreSQL 容器。替换 your-postgres-container-name , your-postgres-user , your-postgres-password

    2024年02月21日
    浏览(30)
  • PostgreSQL备份和恢复(Docker安装)

    目录 一.准备备份脚本并拷贝进容器 二,在宿主机写定时任务去执行容器内的备份脚本 保存后 docker cp 到容器里的某一个文件夹内,这边选择的是 /var/lib/postgresql

    2024年02月08日
    浏览(42)
  • PostgreSQL docker compose安装配置

    docker-compose.yml如下: db\\01-init.sh如下

    2024年02月09日
    浏览(38)
  • docker-compose 部署nacos 整合 postgresql 为DB

    前提: 已经安装好postgresql数据库 先创建好一个数据库 nacos,执行以下sql: 服务器目录结构: pgsql.env 内容: 创建config目录,再创建 application.properties 进行挂载. application.properties: 上述代码最后四行是nacos控制台登录验证的 创建docker-compose 文件: 运行:

    2024年02月10日
    浏览(51)
  • 【微服务部署】一、使用docker-compose部署Jenkins、SonarQube、PostgreSQL

    一、安装 1、编写docker-compose部署Postgres、SonarQube、Jenkins的yml文件jenkins-compose.yml Postgres:作为SonarQube的数据库存储 SonarQube:代码质量检查 Jenkins:jenkins/jenkins:lts镜像,jenkinsci/blueocean镜像缺少node运行时环境,导致node无法运行。 关键配置说明( 宿主机 : Docker容器): /data/doc

    2024年02月09日
    浏览(38)
  • PostgreSQL【应用 03】Docker部署的PostgreSQL扩展SQL之C语言函数(编写、编译、载入)计算向量余弦距离实例分享

    通过使用 PostgreSQL 的 C 函数接口,我们可以编写用 C 语言实现的函数,并将其集成到数据库中。这些函数可以在 SQL 查询中像其他内置函数一样被调用,从而扩展 PostgreSQL 的功能。 C 函数在某些情况下可以提供比 SQL 函数更高的执行效率,因为它们可以直接访问底层系统资源并

    2024年02月15日
    浏览(38)
  • docker-compose 部署 Seata整合nacos,Postgresql 为DB存储

    详情环境可参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 我这里 所有选择seata版本为 1.3.0 前提:已经安装好nacos和postgresql 创建好数据库 名称:seata 执行以下sql: 其他的sql可以参考: https://github.com/seata/seata/tree/develop/script/server/db 服务器层级结构: 2

    2024年02月10日
    浏览(52)
  • 群晖(Synology)NAS 后台安装 Docker 后配置 PostgreSQL

    群晖(Synology)NAS 的后台在新版本对 Docker 不再称为 Docker,现在改称为 Container Manager 了。 单击进入后运行 Container Manager。 针对 PostgreSQL 的容器,我们选择容器后,如果你已经安装了 PostgreSQL 的话,应该就能看到运行的容器了。 然后选择设置。 在 PostgreSQL 的容器设置中有

    2024年02月09日
    浏览(51)
  • Docker环境安装Postgresql数据库Posrgresql 15.6

    宿主机是ubuntu 22.04版本 ubuntu宿主机上安装docker ,参见官方文档https://docs.docker.com/engine/install/ubuntu/, docker-ce是社区版 docker-ee是企业版 1、检查Docker是否安装 2、查看Docker各个版本,也可以参见https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/ 3、设置 Docker的apt仓库 4、安装

    2024年04月17日
    浏览(50)
  • Docker部署的gitlab升级指南(15.11.X容器里升级PostgreSQL到13.8)

    一、确定当前版本 二、备份数据,防止升级发生意外 三、确定升级路线 docker环境部署gitlab的升级很简单,直接基于高版本的镜像运行容器即可; 需要注意的是gitlab的升级不能跨大版本升级,详见升级路径: https://docs.gitlab.com/ee/update/index.html#upgrade-paths 可在此链接查看gitla

    2024年01月16日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包