【问题标题】:Kompose feature similar to docker-compose linksKompose 功能类似于 docker-compose links
【发布时间】:2019-02-10 16:40:23
【问题描述】:

我们正在使用 docker 进行 POC 进行集成测试。 我们有一个带有 api 映像的容器和另一个带有 mongodb 的容器。

api容器必须通过db-mongo-dev-company.aws.local访问mongodb,所以我在docker-compose中放了如下入口:

链接: - “mongodb:db-mongo-dev-company.aws.local”

它与“docker-compose up”完美配合。

问题是 kompose 不支持“链接”功能,根据以下链接:

https://github.com/kubernetes/kompose/blob/master/docs/conversion.md

我们找不到创建此链接的​​替代方法,您知道吗?

【问题讨论】:

  • 此时您可能根本不应该使用 Docker 链接。在普通 Compose 中,您可以使用 YAML 文件中声明的名称作为 DNS 名称来引用其他服务,我希望 Kompose 会创建一个 Kubernetes Service 对象,所以同样的事情也可以工作。
  • 嗨,大卫,感谢您的回答。当您说“名称声明”时,您想在 docker-compose 的标签“container_name”中说出名称?如果是,我试过了,但是 container_name 不能在“db-mongo-dev-company.aws.local url”中出现点字符,发出消息“DNS-1123 标签必须由小写字母数字字符或'- ',并且必须以字母数字字符开头和结尾(例如 'my-name' 或 '123-abc',用于验证的正则表达式是 '[a-z0-9]([-a-z0-9]*[a -z0-9])?')".
  • 我指的是块的标题,它不会有任何 DNS 域名(就像“db-mongo-dev-company”之类的东西)。如果你声明一个 container_name: 也可以,但这不是真的必要。
  • 好的,鉴于我用“db-mongo-dev-company”声明了块的标题,你知道我如何用“aws.local”设置url的其余部分吗?在 docker-compose 中有一个选项来设置 dns 吗?谢谢
  • @DavidMaze,你在吗?

标签: docker kubernetes docker-compose kompose


【解决方案1】:

为了解决这种情况,我只是简单的更改了api项目属性中的url。

示例: 我在 src/main/resources 中有一个名为 bootstrap.yaml 的文件,它正在寻找 Spring Cloud。在 DockerFile 中,拉取 api 的图像后,我将文件替换为另一个 bootstrap.yaml 文件和另一个属性,更改 mongodb 的 url。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 2021-09-25
    • 2017-02-15
    相关资源
    最近更新 更多