我刚刚开始学习Docker以构建微服务。我试图理解并遵循eShopOnContainers应用程序作为我的参考应用程序,以了解所有概念。为了进行测试,我创建了两个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的示例应用程序时,它们的服务具有可读的名称,没有任何前缀。他们如何能够生成更具可读性的服务名称?
你能告诉我我在这里想念什么吗?
答案 0 :(得分:0)
docker-compose自动为您的容器名称添加前缀。
默认情况下,前缀是您执行docker-compose up
的目录的基本名称。
您可以使用$ docker-compose --project-name MY_PROJECT_NAME
进行更改,但这不是您想要的。
您可以使用container_name:
指定容器的名称。
services:
orders-api:
image: orders-api
build:
context: .
dockerfile: src/Services/Orders/Dockerfile
container_name: orders-api
ports:
- "1122:80"