如何创建名称中没有项目名称前缀的 docker 服务?
How to create a docker service without project name prefix in its name?
我刚刚开始学习 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 的示例应用程序时,他们的服务具有可读的名称,没有任何前缀。他们如何生成更具可读性的服务名称?
你能告诉我我在这里遗漏了什么吗?
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"
我刚刚开始学习 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 的示例应用程序时,他们的服务具有可读的名称,没有任何前缀。他们如何生成更具可读性的服务名称?
你能告诉我我在这里遗漏了什么吗?
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"