我正在運(yùn)行Postgres數(shù)據(jù)庫與pg管理員和GO在泊塢窗撰寫。問題:我可以從 pg 管理員連接到 Postgres。但無法從 Go 建立連接。我嘗試了身份驗(yàn)證字符串的不同組合,但它不起作用。字符串格式與此處相同 https://github.com/karlkeefer/pngr - 但容器名稱不同 -database(錯(cuò)誤)連接選項(xiàng):backend_1 | 2021/08/08 14:24:40 DB connection: database://main:fugZwypczB94m0LP7CcH@postgres:5432/temp_db?sslmode=disablebackend_1 | 2021/08/08 14:24:40 Unalble to open DB connection: dial tcp 127.0.0.1:5432: connect: connection refused(URI 生成與此處相同 https://github.com/karlkeefer/pngr)碼頭工人:version: '3.8'services: backend: restart: always build: context: backend target: dev volumes: - ./backend:/root ports: - "5000:5000" env_file: .env depends_on: - database database: build: database restart: always environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} PGDATA: /var/lib/postgresql/data volumes: - ./database/data:/var/lib/postgresql/data - ./logs/databse:/var/log/postgresql - ./database/migrations:/docker-entrypoint-initdb.d/migrations ports: - "5432:5432" database-admin: image: dpage/pgadmin4:5.5 restart: always environment: PGADMIN_DEFAULT_EMAIL: ${PG_ADMIN_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PG_ADMIN_PASSWORD} PGADMIN_LISTEN_PORT: 80 ports: - "8080:80" volumes: - ./database/admin:/var/lib/pgadmin links: - "database:pgsql-server" depends_on: - databasevolumes: database: database-admin:環(huán)境:POSTGRES_HOST=postgresPOSTGRES_PORT=5432POSTGRES_DB=temp_dbPOSTGRES_USER=mainPOSTGRES_PASSWORD=fugZwypczB94m0LP7CcHPG_ADMIN_EMAIL=admin@temp.comPG_ADMIN_PASSWORD=ayzi2ta8f1TnX3vKQSN1PG_ADMIN_PORT=80GO 代碼:db, err = sqlx.Open("postgres", str)
1 回答

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
將數(shù)據(jù)庫主機(jī)名引用為 () 這很好,但容器/服務(wù)名稱為 。postgresPOSTGRES_HOST=postgresdatabase
將 from 中的名稱更改為 或添加顯式字段:compose.yamldatabasepostgreshostname
database:
build: database
restart: always
hostname: postgres # <- add this
您可能還希望為多個(gè)容器服務(wù)添加專用網(wǎng)絡(luò),以便彼此通信(或阻止其他容器服務(wù)相互通信)。為此,請(qǐng)將其添加到要使用特定網(wǎng)絡(luò)的每個(gè)服務(wù)中,例如
database:
# ...
networks:
- mynet
backend:
# ...
networks:
- mynet
并定義網(wǎng)絡(luò)在compose.yaml
networks:
mynet:
name: my-shared-db-network
- 1 回答
- 0 關(guān)注
- 176 瀏覽
添加回答
舉報(bào)
0/150
提交
取消