我在服务器上的docker容器中有Postgresql。我如何从外部,也就是从我的本地计算机连接到它?我应该应用什么设置来允许这样做?
当前回答
我知道这有点晚了,如果你像@Martin一样使用docker-compose的话
这些是帮助我连接到容器内psql的代码片段
Docker-compose db bash
root@de9f9358b70:/# psql -h db -U根-d posts_db
我不能评论,因为我没有50的声誉。希望这能有所帮助。
其他回答
如果它是一个django后端应用程序,你可以这样做。
docker exec -it container_id python manage.py dbshell
你也可以通过docker exec命令访问:
$ docker exec -it postgres-container bash
# su postgres
$ psql
Or
$ docker exec -it postgres-container psql -U postgres
这里有很好的答案,但是如果您想要postgres数据库管理的一些接口,您可以在本地计算机上安装pgAdmin,并使用其IP和postgres公开端口(默认为5432)连接到远程计算机。
要从本地主机连接,你需要添加'——net host':
docker run --name some-postgres --net host -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
你可以直接访问服务器而不使用exec从你的localhost,通过使用:
psql -h localhost -p 5432 -U postgres
首先打开postgres的docker映像
docker exec -it <container_name>
然后你会得到根目录--root@868594e88b53:/# 它需要数据库连接
psql postgresql://<username>:<databasepassword>@postgres:5432/<database>
推荐文章
- 如何连接列在Postgres选择?
- 拉访问拒绝存储库不存在或可能需要docker登录
- 如何在ENTRYPOINT数组中使用Docker环境变量?
- Docker:容器不断地重新启动
- Mac/OS X上的/var/lib/docker在哪里
- 如何用docker-compose标记docker图像
- 将varchar字段的类型更改为整数:"不能自动转换为整数类型"
- PostgreSQL可以索引数组列吗?
- 从环境文件中读入环境变量
- PostgreSQL:角色不允许登录
- 如何查找Postgres / PostgreSQL表及其索引的磁盘大小
- 是使用各有一个模式的多个数据库更好,还是使用一个数据库有多个模式更好?
- 禁用特定RUN命令的缓存
- 如果字符串包含
- 从Docker容器获取环境变量