【发布时间】: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