Docker 安装 PostgreSQL

冯富江的技术博客 2024-10-23 09:37:01 阅读 74

目录

1. 启动 PostgreSQL 容器

2. 获取容器的 IP 地址

3. 启动一个新的 CentOS 容器

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

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

6. 在 PostgreSQL 中执行 SQL 操作


1. 启动 PostgreSQL 容器

<code>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-centos1centos:使用 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 操作:

切换到 postgres 数据库

\c postgres

创建表 test1

create table test1(t1 int, t2 varchar(40));

插入数据

insert into test1(t1, t2) values (11, 'welcome to fengfujiang');

insert into test1(t1, t2) values (12, 'welcome to python');

查询数据

select * from test1;



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。