问题内容 每当启动 Docker 容器服务时,我都会收到 failed to initialize 错误。 version: '3' services: app: con
每当启动 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:连接:连接被拒绝)的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 初始化数据库失败,出现错误无法连接到`host=db user=database=`:拨号错误(拨号tcp xxxx:连接:连接被拒绝)
本文链接: https://lsjlt.com/news/561373.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0