在 Docker 容器中运行数据库
您可以使用 Docker 在容器中运行数据库,就像它是远程服务器一样,并测试您的应用程序如何与其交互。
在本教程中,您将学习如何运行带有 PostgreSQL 服务器的 Docker 容器,并使用 JetBrains Rider 连接到它。
获取 PostgreSQL 服务器镜像
在 服务 工具窗口中,展开您的 Docker 连接并选择 镜像 节点。
在 要拉取的镜像 字段中,开始输入
postgres并选择所需的镜像存储库。 例如,选择postgres来提取默认postgres:latest图像。
按 Ctrl+Enter 并等待 Docker 拉取镜像。

从 PostgreSQL 服务器镜像运行容器
展开 镜像 节点,选择 PostgreSQL 服务器图像,然后点击
创建容器。

在 创建Docker 配置 对话框中,点击 修改选项(M) 并选择 随机发布所有暴露端口 ,将所有暴露的容器端口发布到主机接口。
点击 修改选项(M) 并选择 环境变量。 在出现的 环境变量 字段中,您可以为 PostgreSQL 认证配置环境变量。

单击
浏览。 在打开的 环境变量 对话框中,点击
添加 ,并添加值为
trust的POSTGRES_HOST_AUTH_METHOD变量。
在 名称 和 容器名称 字段中,为配置(例如
PostgreSQL Container)和容器(例如postgresql)指定自定义名称。
应用更改并点击 运行。
JetBrains Rider 会创建并启动一个新的 Docker 容器。 它将出现在 服务 工具窗口中的 容器 节点下。

连接到 PostgreSQL 服务器
Docker 会自动将容器内的默认 PostgreSQL 服务器端口 5432 映射到 临时端口范围 (通常从 32768 到 61000)内的主机端口。 本教程中,我们以端口 55000 为例。
打开 数据库 工具窗口()。
点击
新 并选择 。
请将主机名设置为
本地主机,端口号设置为55000(或映射到的主机端口),默认数据库和用户为postgres。 我们使用了trust身份验证来运行 PostgreSQL 服务器,因此不需要密码。如有必要, 下载驱动程序并测试连接。

点击 确定 以将 PostgreSQL 服务器添加为数据源。
创建的数据源将出现在 数据库 工具窗口中。 现在,您可以展开连接树,以查看在 Docker 中运行的 PostgreSQL 服务器的数据库对象。 有关 PostgreSQL 数据库连接过程及可用选项的详细信息,请参阅 连接到 PostgreSQL 数据库。
汇总
在本教程中,您学习了如何:
拉取并管理 Docker 镜像
从 DBMS(如 PostgreSQL)镜像配置并运行容器
建立 JetBrains Rider 与容器内运行的数据库之间的连接