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

Docker 安装 PostgreSQL

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;
http://www.lryc.cn/news/398903.html

相关文章:

  • 实践致知第12享:如何新建一个Word并设置格式
  • Rust vs Go: 特点与应用场景分析
  • 2024的开放式耳机排行榜,看这六个耳机选购的小Tips
  • JAVA-报表模糊搜索询易实现
  • 牛客 7.13 月赛(留 C逆元)
  • FPGA之术语
  • WPF透明置顶窗口wine适配穿透问题解决
  • 浅析Kafka Streams中KTable.aggregate()方法的使用
  • java word转pdf、word中关键字位置插入图片 工具类
  • jail内部ubuntu apt升级失败问题解决
  • 迎接AI新时代:GPT-5的技术飞跃与未来展望
  • Snap Video:用于文本到视频合成的扩展时空变换器
  • 实验8 视图创建与管理实验
  • C++ 开源库
  • LabVIEW滤波器性能研究
  • 『C++成长记』vector模拟实现
  • 【Mac】Charles for Mac(HTTP协议抓包工具)及同类型软件介绍
  • LVS集群及其它的NAT模式
  • 【RNN练习】天气预测
  • prompt第四讲-fewshot
  • StarRocks分布式元数据源码解析
  • 阅读笔记——《Fuzz4All: Universal Fuzzing with Large Language Models》
  • 【C++】使用gtest做单元测试框架写单元测试
  • Java类与对象
  • xlwings 链接到 指定sheet 从别的 excel 复制 sheet 到指定 sheet
  • 风光摄影:相机设置和镜头选择
  • python制作甘特图的基本知识(附Demo)
  • javascript设计模式总结
  • gpt-4o看图说话-根据图片回答问题
  • 【MySQL】7.MySQL 的内置函数