初始化数据库失败,出现错误无法连接到`host=db user=database=`:拨号错误(拨号tcp xxxx:连接:连接被拒绝)
短信预约 -IT技能 免费直播动态提醒
问题内容
每当启动 docker 容器服务时,我都会收到 failed to initialize
错误。
version: '3'
services:
app:
container_name: api
build:
context: .
dockerfile: local.dockerfile
ports:
- "9090:9090"
- "40000:40000"
security_opt:
- "seccomp:unconfined"
cap_add:
- sys_ptrace
restart: on-failure
environment:
port: 9090
db_conn: "postgres://admin:pass@db:5432/test?sslmode=disable"
volumes:
- .:/app
depends_on:
- db
links:
- db
db:
image: postgres
container_name: db
ports:
- "5432:5432"
environment:
postgres_user: "admin"
postgres_password: "pass"
postgres_db: "test"
tz: "utc"
pgtz: "utc"
volumes:
- ./tmp:/var/lib/postgresql/data
我使用air
进行实时重新加载,请找到air.toml
文件
root="."
tmp_dir="tmp"
[build]
cmd="go build -gcflags=\"all=-N -l\" -o ./bin/main ."
bin="/app/bin"
full_bin="/app/bin/main"
log="air_errors.log"
include_ext=["go", "yaml"]
exclude_dir=["tmp"]
delay=1000
[log]
time=true
[misc]
clean_on_exit=true
func main() {
Instance, err = gorm.Open(postgres.Open(conn), &gorm.Config{
Logger: logger.New(
log.New(os.Stdout, "", log.LstdFlags), logger.Config{
LogLevel: logger.Info,
Colorful: true,
}),
})
if err != nil {
panic("Cannot connect to DB" + err.Error())
}
}
如果您再次保存代码并实时重新加载应用程序,则会建立连接
正确答案
需要等待postgres
数据库初始化完成。
查看 https://docs。 docker.com/compose/compose-file/compose-file-v3/#healthcheck
为db
服务添加healthcheck
healthcheck:
test: ["cmd-shell", "pg_isready"]
interval: 10s
timeout: 5s
retries: 5
并更改 depend_on
如下
depends_on:
db:
condition: service_healthy
以上就是初始化数据库失败,出现错误无法连接到`host=db user=database=`:拨号错误(拨号tcp xxxx:连接:连接被拒绝)的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
初始化数据库失败,出现错误无法连接到`host=db user=database=`:拨号错误(拨号tcp xxxx:连接:连接被拒绝)
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
初始化数据库失败,出现错误无法连接到`host=db user=database=`:拨号错误(拨号tcp xxxx:连接:连接被拒绝)
问题内容每当启动 docker 容器服务时,我都会收到 failed to initialize 错误。version: '3'services:app:container_name: apibuild:context: .docker
2024-02-06
初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题
问题内容我正在学习 docker,现在就开始吧但是当我用这个 docker 运行时我遇到了问题docker run --rm -p 8080:8080/tcp --env-file .env my-project:latest这是我的
2024-02-06