您当前的位置: 首页 >  sql

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

数据库:PostgreSQL:容器化环境构建

发布时间:2020-08-31 19:40:29 ,浏览量:0

在这里插入图片描述

目录
  • PostgreSQL启动示例
  • Docker方式
  • Docker-Compose方式
  • 总结
PostgreSQL启动示例

以使用的目前稳定的最新版本12.4为例,容器化的PostgreSQL实例启动相关的设定希望如下所示:

设定项 设定内容 PostgreSQL版本 12.4 DockerHub postgres:12.4-alpine 环境变量:postgres用户密码 liumiaocn 数据卷:PostgreSQL数据 /var/lib/postgresql/data 端口映射 5432:5432 Docker方式
  • 执行命令如下所示
docker run --name postgres -p 5432:5432 -v ${PWD}/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=liumiaocn -d postgres:12.4-alpine
  • 启动日志示例
liumiaocn:postgres liumiao$ docker run --name postgres -p 5432:5432 -v ${PWD}/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=liumiaocn -d postgres:12.4-alpine
9e7d7c6a19fd53ecfe2221083c27083501296c6436d0c7aec15b3612cb18374b
liumiaocn:postgres liumiao$ docker ps CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                    NAMES
9e7d7c6a19fd        postgres:12.4-alpine "docker-entrypoint.s…" 2 seconds ago       Up 1 second         0.0.0.0:5432->5432/tcp   postgres
liumiaocn:postgres liumiao$
  • 结果确认
liumiaocn:~ liumiao$ export PGPASSWORD=liumiaocn;psql -h localhost -p 5432 postgres postgres
psql (12.4) Type "help" for help.

postgres=# select version(); version                                        
---------------------------------------------------------------------------------------
 PostgreSQL 12.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 9.3.0) 9.3.0, 64-bit (1 row) postgres=#  
Docker-Compose方式 设定项 设定内容 PostgreSQL版本 12.4 DockerHub postgres:12.4-alpine 环境变量:postgres用户密码 liumiao 数据卷:PostgreSQL数据 /var/lib/postgresql/data 端口映射 35432:5432
liumiaocn:postgres liumiao$ cat docker-compose.yml version: '2' services: # database service: PostgreSQL postgres: image: postgres:12.4-alpine ports: - "35432:5432" volumes: - ./data/:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=liumiao restart: "no" liumiaocn:postgres liumiao$
  • 启动日志示例
liumiaocn:postgres liumiao$ ls docker-compose.yml
liumiaocn:postgres liumiao$ docker-compose up -d
Creating network "postgres_default" with the default driver
Creating postgres_postgres_1 ... done liumiaocn:postgres liumiao$ ls data			docker-compose.yml
liumiaocn:postgres liumiao$
  • 结果确认
liumiaocn:postgres liumiao$ docker-compose ps
       Name                      Command              State            Ports ------------------------------------------------------------------------------------- postgres_postgres_1   docker-entrypoint.sh postgres   Up 0.0.0.0:35432->5432/tcp
liumiaocn:postgres liumiao$ 
liumiaocn:postgres liumiao$ docker exec -it postgres_postgres_1 sh / # psql -U postgres psql (12.4) Type "help" for help. postgres=# select version(); version --------------------------------------------------------------------------------------- PostgreSQL 12.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 9.3.0) 9.3.0, 64-bit (1 row) postgres=#  

或者从外部客户端连接确认:

liumiaocn:postgres liumiao$ export PGPASSWORD=liumiao;psql -h localhost -p 35432 postgres postgres
psql (12.4) Type "help" for help. postgres=# select version(); version --------------------------------------------------------------------------------------- PostgreSQL 12.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 9.3.0) 9.3.0, 64-bit (1 row) postgres=#  
总结

这篇文章整理了使用Docker或者Docker Compose构建PostgreSQL环境的方法。

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.7804s