微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在使用在本地主机中构建docker映像的Kubernertes环境中运行SQLX rust

如何解决在使用在本地主机中构建docker映像的Kubernertes环境中运行SQLX rust

我在Rust中使用sqlx条板箱来构建二进制文件时遇到了麻烦。我尝试使用sqlx运行脱机模式以忽略初始编译的数据库连接,但是我需要在Kubernetes中为我的Postgres集群设置DATABASE_URL变量。我已经做了以下事情:

  • cargo build --release
  • 使用本地主机中的环境变量指向本地主机postgres(工作正常)
  • 在我的docker文件中运行/bin/crate_name

但是,当我尝试:

  1. cargo build --release
  2. 在Kubernetes集群中使用指向我的Kubernetes Postgres的环境变量
  3. 在我的docker文件中运行/bin/crate_name

构建失败,因为有一个unresolved host

请记住,sqlx在编译过程中会检查查询

我确定这可能是一个网络问题,其中我的Docker运行时构建位于本地主机而非Kubernetes环境中。有没有解决的办法?如何通过货品编译在Kubernetes虚拟环境中构建它?

我最初的方法是创建一个Kubernetes容器作为工作区,并从容器内部运行docker build ... -network="host"以访问节点dns,以允许成功进行查询编译检查。

sqlx目前支持吗?换句话说,忽略数据库连接,然后在以后使用它?再次,我想在Kubernetes环境中运行sqlx,但是,当我在本地主机上构建时,会得到“找不到主机名”,因为我是在要查找Kubernetes Postgres内部uri的本地计算机上构建docker映像的。 >

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。