docker exec -tiu postgres some_db_container psql db_name
这是一条十分方便的命令,可以连接到任何有权限访问的Docker容器,而无需查找应用程序用于连接的用户名和密码。
问题在于,此时分配的TTY非常不稳定。它不知道终端的大小,尝试换行时不会进行换行,并且如果你尝试在中间编辑该行代码,则会完全失控。大多数情况下更容易在文本编辑器中编写查询并将其粘贴进去。
我认为可能是因为在创建容器时没有分配TTY,但是在docker-compose中使用tty:true
似乎没有产生效果。
我很惊讶在互联网上找不到解决此问题的讨论,因为仅其他一种连接方法是要知道容器的IP地址和连接的用户凭据。
是否有某种解决方法?如果能解决这个问题,我就不必每次想调查问题时都要挖出生产密码,而可以以postgres用户身份连接。