
Docker部署postgresql-11以及主从配置
发布日期:2025-03-28 15:13:39
浏览次数:4
分类:精选文章
本文共 2178 字,大约阅读时间需要 7 分钟。
Docker部署PostgreSQL-11以及主从配置
一. Docker部署PostgreSQL-11(简单版)
1. 拉取镜像
运行以下命令拉取PostgreSQL-11的镜像:
docker pull docker.io/postgres:11
2. 启动命令脚本
创建并编辑启动脚本startPostgres.sh
:
vi startPostgres.sh
脚本内容如下:
#!/bin/bashdocker run -d --name postgresql-11 \--restart=always \-v /postgresql/data:/var/lib/postgresql/data \-e POSTGRES_PASSWORD=123456 \-p 5432:5432 \docker.io/postgres:11
3. 给脚本写权限
对脚本进行权限设置:
chmod +x startPostgres.sh
4. 执行启动脚本
在终端执行脚本:
./startPostgres.sh
5. 查看日志或启动报错
查看容器日志或检查启动错误:
docker logs postgresql-11
如果遇到报错,重新启动容器:
docker restart postgresql-11
6. 安装中文编码(如果有报错)
进入容器并安装所需的中文编码:
docker exec -it postgresql-11 /bin/bash#安装localessudo apt-get install locales#设置语言环境sudo dpkg-reconfigure locales
7. 重启动容器
确保所有配置正确后,重新启动容器:
docker start postgresql-11
二. 【最全】从Docker中运行PostgreSQL数据库
1. 使用PostgreSQL数据库
在Docker中使用PostgreSQL有三种方式:通过Dockerfile、Docker Compose或直接命令运行。以下以Docker Compose方式示例:
1. 准备环境
确保Docker和Docker Compose已安装。当Apparently这些工具的版本:
查看内核版本:uname -a
查看Docker版本:
docker --versiondocker-compose --version
2. 拉取镜像(基于官方镜像)
拉取适用于你的系统的PostgreSQL镜像。例如,在Ubuntu 20.04上运行:
docker pull postgres:15-bullseye
3. 创建目录并启动PostgreSQL
创建PostgreSQL数据目录并启动容器:
mkdir dockerdata/postgresql && cd dockerdata/postgresql
配置docker-compose.yml
文件:
vim docker-compose.yml
内容示例:
version: '2.3'services: pgdb: image: postgres:15-bullseye restart: always environment: POSTGRES_PASSWORD: ggyy POSTGRES_USER: ggyy ports: - 5439:5439 volumes: - ./postgres:/data/postgres postgres-db: driver: local
4. 启动数据库容器
运行Docker Compose:
docker-compose -f docker-compose.yml up -d
5. 连接数据库
进入PostgreSQL数据库:
docker exec -it postgresql_pgdb_1 psql -U ggyy
(注意:请根据实际设置的用户名和密码替换。)
三. PostgreSQL基础命令
1. SELECT
基础查询语法:
SELECT first_name, last_name, email FROM customer;
可 tùy文风 kaphanurtles viewers 使用\x分隔结果:
SELECT first_name || ' ' || last_name, email FROM customer;
2. WHERE
WHERE子句的基本用法:
SELECT columns_list FROM table_name WHERE query_condition;
举例:
SELECT first_name FROM customer WHERE first_name LIKE 'ANN%';
或使用BETWEEN
和LIKE
结合:
SELECT first_name, LENGTH(first_name) name_lengthFROM customerWHERE first_name LIKE 'A%'AND LENGTH(first_name) BETWEEN 3 AND 5ORDER BY name_length;
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年05月06日 03时50分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Boostrap技能点整理之【网格系统】
2019-03-11
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
2019-03-11
Git简单理解与使用
2019-03-11
echarts 基本图表开发小结
2019-03-11
adb通过USB或wifi连接手机
2019-03-11
JDK9-15新特性
2019-03-11
TreeSet、TreeMap
2019-03-11
JVM内存模型
2019-03-11
可变长度参数
2019-03-11
3、条件查询
2019-03-11
cordova打包apk更改图标
2019-03-11
GitHub上传时,项目在已有文档时直接push出现错误解决方案
2019-03-11
文件系统的层次结构
2019-03-11
vue(渐进式前端框架)
2019-03-11
vscode设置eslint保存文件时自动修复eslint错误
2019-03-11
Remove Extra one 维护前缀最大最小值
2019-03-11
Linux操作系统的安装与使用
2019-03-12
C++ 继承 详解
2019-03-12
OSPF多区域
2019-03-12
Docker入门之-镜像(二)
2019-03-12