【发布时间】:2020-12-19 08:58:21
【问题描述】:
我刚刚开始学习 Docker 来构建微服务。我试图理解并遵循eShopOnContainers app 作为我的参考应用程序来理解所有概念。为了测试,我创建了两个 ASP.Net Web API 服务并创建了一个 docker-compose.yml 文件来测试我是否可以运行它们。我能够运行这些服务,但我注意到的一件事是服务名称不是很整齐。它们包含文件夹名称前缀。例如这里是我的 docker-compose.yml 文件的一部分
services:
orders-api:
image: orders-api
build:
context: .
dockerfile: src/Services/Orders/Dockerfile
ports:
- "1122:80"
我希望当这个服务运行时,它应该被命名为 orders-api,但是它的名字变成了 micrservicestest_orders-api_1。 MicroservicesTest 是我的项目的文件夹名称。我试图找到一种解决方法,但它seems 就像这是 Docker 本身的限制。我唯一不明白的是,当我运行 eShopOnContainers 的示例应用程序时,他们的服务具有可读的名称,没有任何前缀。他们如何生成更具可读性的服务名称?
你能告诉我我在这里缺少什么吗?
【问题讨论】:
-
如果不设置
container_namedocker-compose将使用包含文件夹名称的默认值。 -
为什么特定的容器名称很重要?
-
@DavidMaze 我想更改服务名称的原因是在它前面加上公司或产品名称的前缀。
标签: docker asp.net-core docker-compose microservices