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

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

在 创建Docker 配置 对话框中,执行以下操作:
点击 修改选项(M) 并选择 随机发布所有暴露端口 将所有暴露的容器端口发布到主机接口。 为了实现更安全的设置,您当然需要定义特定的端口绑定。 但是,在本教程中,我们假设您的本地机器足够安全,没有重要的内容。
点击 修改选项(M) ,选择 环境变量 ,并配置用于定义PostgreSQL服务器的身份验证设置的环境变量。 本教程中,我们可以使用 Trust Authentication。 请注意,这将使任何能够连接到 PostgreSQL 服务器的人都能够使用他们选择的任何用户名访问数据库。 在 环境变量 字段中,点击
并添加值为
trust的POSTGRES_HOST_AUTH_METHOD变量。有关身份验证的更多信息,请参阅 官方 PostgreSQL Docker Hub 镜像页面。
您可以选择为配置和容器指定自定义名称。

连接到 PostgreSQL 服务器
Docker 会自动将容器内的默认 PostgreSQL 服务器端口 5432 映射到 临时端口范围 (通常从 32768 到 61000)内的主机端口。 本教程假设使用了端口 32768。 要检查实际映射是什么,请右键点击 服务 工具窗口下 容器 节点中的 PostgreSQL 容器,点击 检查 ,然后在 检查 输出中找到 HostPort 字段的值。
打开 数据库 工具窗口()。
点击
并选择 。
请将主机名设置为
localhost,端口号设置为32768(或映射到的任意主机端口),默认数据库和用户为postgres。 我们使用了trust身份验证来运行 PostgreSQL 服务器,因此不需要密码。如有必要,请下载驱动程序并测试连接。
点击 确定 以将 PostgreSQL 服务器添加为数据源。
有关在 RubyMine 中使用数据库源的更多信息,请参阅 数据库工具和 SQL。