当前位置: 首页 > news >正文

Docker 安装 PostgreSQL

目录

1. 启动 PostgreSQL 容器

2. 获取容器的 IP 地址

3. 启动一个新的 CentOS 容器

4. 在 CentOS 容器中安装 PostgreSQL 客户端

5. 通过 psql 客户端连接到 PostgreSQL 容器

6. 在 PostgreSQL 中执行 SQL 操作


1. 启动 PostgreSQL 容器

docker run --name ffj-postgres -p 5432:5432 -e POSTGRES_PASSWORD=Cisc0123 -d postgres
  • docker run:启动一个新的容器。
  • --name指定容器名称为 ffj-postgres
  • -p 5432:5432:将主机的 5432 端口映射到容器的 5432 端口。
  • -e POSTGRES_PASSWORD=Cisc0123:设置 PostgreSQL 的 postgres 用户的密码为 Cisc0123
  • -d postgres:后台运行容器,并使用 postgres 镜像。

2. 获取容器的 IP 地址

docker inspect -f '{{.NetworkSettings.IPAddress}}' ffj-postgres
  • docker inspect:查看容器的详细信息。
  • -f '{{.NetworkSettings.IPAddress}}':格式化输出以仅显示 IP 地址。
  • ffj-postgres:指定要查看的容器名称。

这一步的输出会是容器的 IP 地址,例如 172.17.0.2

3. 启动一个新的 CentOS 容器

docker run --rm -it --name ffj-centos1 centos
  • docker run:启动一个新的容器。
  • --rm:容器退出时自动删除容器。
  • -it:使容器运行在交互模式并分配一个伪终端。
  • --name ffj-centos1:指定容器名称为 ffj-centos1
  • centos:使用 centos 镜像。

4. 在 CentOS 容器中安装 PostgreSQL 客户端

yum install -y postgresql
  • yum install -y:自动确认安装 postgresql

由于centos停止维护,需要更换源 ,容器没有vim命令,使用echo

echo "[BaseOS]
name=CentOS-\$releasever - Base
baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/BaseOS/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[AppStream]
name=CentOS-\$releasever - AppStream
baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[extras]
name=CentOS-\$releasever - Extras
baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
" > /etc/yum.repos.d/CentOS-Base.repo

yum clean all && yum makecache

5. 通过 psql 客户端连接到 PostgreSQL 容器

psql -U postgres -d postgres -h 172.17.0.3
  • psql:PostgreSQL 命令行客户端。
  • -U postgres:使用 postgres 用户连接。
  • -d postgres:连接到 postgres 数据库。
  • -h 172.17.0.3:指定 PostgreSQL 服务器的 IP 地址。

6. 在 PostgreSQL 中执行 SQL 操作

以下是连接到 PostgreSQL 后的 SQL 操作:

  1. 切换到 postgres 数据库
\c postgres
  1. 创建表 test1
create table test1(t1 int, t2 varchar(40));
  1. 插入数据
insert into test1(t1, t2) values (11, 'welcome to fengfujiang');
insert into test1(t1, t2) values (12, 'welcome to python');
  1. 查询数据
select * from test1;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 实习随笔【前端技术实现全局添加水印】
  • 【java深入学习第7章】用 Spring Boot 和 Java Mail 轻松实现邮件发送功能
  • 电脑远程开关机
  • 【找不到视图问题解决】@RestController 与 @Controller注解的使用区别
  • 大数据hive表和iceberg表格式
  • 【乐吾乐2D可视化组态编辑器】消息
  • 论文翻译:通过云计算对联网多智能体系统进行预测控制
  • notes for datawhale 2th summer camp NLP task1
  • JSqlParser 解析 sql
  • Linux介绍以及常用命令
  • html+js+css做的扫雷
  • 使用mybatis的statementHander拦截器监控表和字段并发送钉钉消息
  • Python面经
  • FlinkErr:org/apache/hadoop/hive/ql/parse/SemanticException
  • .Net Core 微服务之Consul(二)-集群搭建
  • 【5+】跨webview多页面 触发事件(二)
  • 2019年如何成为全栈工程师?
  • AWS实战 - 利用IAM对S3做访问控制
  • Cookie 在前端中的实践
  • Django 博客开发教程 8 - 博客文章详情页
  • happypack两次报错的问题
  • JAVA 学习IO流
  • JavaScript 奇技淫巧
  • Java编程基础24——递归练习
  • magento 货币换算
  • Puppeteer:浏览器控制器
  • python学习笔记 - ThreadLocal
  • REST架构的思考
  • SegmentFault 2015 Top Rank
  • SpingCloudBus整合RabbitMQ
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • Vultr 教程目录
  • 创建一种深思熟虑的文化
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 码农张的Bug人生 - 见面之礼
  • 树莓派 - 使用须知
  • 微信小程序实战练习(仿五洲到家微信版)
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • Semaphore
  • ​Java基础复习笔记 第16章:网络编程
  • #LLM入门|Prompt#3.3_存储_Memory
  • ()、[]、{}、(())、[[]]命令替换
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (C语言)字符分类函数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (苍穹外卖)day03菜品管理
  • (二十三)Flask之高频面试点
  • (十)Flink Table API 和 SQL 基本概念
  • (十一)手动添加用户和文件的特殊权限
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (推荐)叮当——中文语音对话机器人
  • (未解决)macOS matplotlib 中文是方框
  • (一)认识微服务
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)大道至简,职场上做人做事做管理