Docker 如何命名存储库?

How does Docker name repositories?

在名为 ringer 的目录中,我创建了一个简单的 Docker 文件,它将安装一些东西并挂载我的应用程序...我从未明确设置名称。

然后我使用 docker-compose.yml 文件来定义 web 并将其指向我上面提到的 Dockerfile

当我 运行 docker images 我看到以下内容:

$ docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ringer_web                     latest              bf9b931e1030        8 minutes ago       938.9 MB

看起来 Docker 以本地目录和图像名称命名我的图像存储库...我的问题是,Docker 究竟如何选择命名图像存储库? (如果适用,为什么)

来自docs

COMPOSE_PROJECT_NAME

Sets the project name, which is prepended to the name of every container started by Compose. Defaults to the basename of the current working directory.

顺便说一句,这不是docker,而是docker-compose在决定名字。要更改它,请在 运行 docker-compose:

之前设置 COMPOSE_PROJECT_NAME
COMPOSE_PROJECT_NAME=myprefix docker-compose up