[英]Connect SQL IDE to docker db container?
我将docker与以下三项服务结合使用:
version: '2'
services:
nginx:
image: nginx:latest
container_name: nz01
ports:
- "8000:8000"
volumes:
- ./src:/src
- ./config/nginx:/etc/nginx/conf.d
depends_on:
- web
web:
build: .
container_name: dz01
depends_on:
- db
volumes:
- ./src:/src
expose:
- "8000"
db:
image: postgres:latest
container_name: pz01
volumes:
- ./postgres-data:/var/lib/postgresql/data
一切似乎都运行良好,并且我知道db服务正在172.18.0.2
上运行,但是当我使用Datagrip
连接到DB
以更快地进行表创建和插入以及诸如此类的操作时,它将无法正常工作。
我在django应用程序上的配置是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'HOST': 'pz01',
'PORT': 5432,
}
}
Datagrip的配置:
'DB_NAME': 'postgres',
'USER': 'postgres',
'HOST': 'pz01',
'PORT': 5432,
我也尝试使用host作为ip和localhost,但都无法正常工作。 密码为null,因为db服务日志显示默认情况下它没有密码。
如何从Macbook连接到Docker数据库?
编辑:正如@Dihgg所说,我将端口固定在数据库服务处。
我定在
db:
image: postgres:latest
container_name: pz01
ports:
- "5433:5432"
volumes:
- ./postgres-data:/var/lib/postgresql/data
该端口不是5432:5432,因为当这是我得到的值时:
ERROR: for db Cannot start service db: b'driver failed programming external connectivity on endpoint pz01 (146bb3cdada29f75766aa888143b4af17b267d13096db60fb0ccdaedb710e77e): Error starting userland proxy: Bind for 0.0.0.0:5432 failed: port is already allocated'
ERROR: Encountered errors while bringing up the project.
尽管如此,当我使用pz01作为主机时,我无法从Datagrip连接,错误是(尝试使用5432或5433端口且未设置密码):
Host is unknown
当我将IP用作主机时,错误是: Connection failed
尝试公开数据库容器中的端口
db:
image: postgres:latest
container_name: pz01
ports:
- "5432:5432"
volumes:
- ./postgres-data:/var/lib/postgresql/data
然后,使用localhost:5432进行连接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.