从外部访问Dokku容器内的Postgres数据库

时间:2016-01-18 09:33:23

标签: postgresql pgadmin dokku

我很难找到一种方法来使用pgAdmin从机器外部访问Dokku的contaner(基于docker)内的Postgres数据库。有没有办法做到这一点?我需要使用其他客户端吗?我正在使用dokku postgres:expose命令公开数据库。

2 个答案:

答案 0 :(得分:24)

要与pgadmin连接,您可以从DATABASE_URL获取所有必要信息。

➜  ~ dokku postgres:info your-database-db
       DSN: postgres://postgres:bf8f1cb443c35cd1ae0a58617ef348cd@dokku-postgres-your-database-db:5432/your_database_db

因为dokku与heroku具有相同的基础,所以您可以提取信息以连接pg数据库。重要的考虑因素是dokku生成一个随机端口来暴露您的数据库。您可以获得随机端口或设置任何您想要的端口。

[database type]://[username]:[password]@[host]:[port]/[database name]

公开数据库并获取真实端口:

➜  ~ dokku postgres:expose your-database-db
 !     Service is already started
-----> Service your-database-db exposed on port(s) 17825

现在,在您的pg admin中,您将添加下一个信息,并希望连接没有问题。

username: postgres
password: bf8f1cb443c35cd1ae0a58617ef348cd
hostname: Your-Dokku-Host-URL (Ex. domain.com or IP of your dokku server)
port: 17825

此外,例如,如果您在AWS EC2中运行dokku,则需要允许访问该实例上的此端口,并在 Inbound 自定义TCP规则 >此实例的安全组部分与。

相关联

希望它有所帮助。

答案 1 :(得分:1)

我写了一篇关于如何连接到您的dokku postgreSQL数据库的博客文章。这是link。这可能对某人有帮助。

相关问题