docker - 在docker compose中将文件夹名称前缀为容器名称的目的是什么

标签 docker docker-compose

我的docker compose文件位于/ documents文件夹中,当我使用docker-compose up时,它将文件夹名称附加到服务名称(myappv1)。

documents_myappv1_1
这样做的目的是什么?
为什么不能只是myappv1_1

最佳答案

Docker Compose使用项目名称来允许用户部署multiple isolated environments on a single host。默认情况下,项目名称将使用包含docker-compose.yml的文件夹的名称。
您可以通过以下方式更改容器的命名行为:

  • 使用-p选项(例如docker-compose -p project_name up),这将导致容器被命名为project_name_myappv1_1
  • 使用 container_name 选项指定自定义容器名称,即使在不同的部署中,该名称也将保持不变

  • 作为per doc:

    Compose uses a project name to isolate environments from each other. You can make use of this project name in several different contexts:

    • on a dev host, to create multiple copies of a single environment, such as when you want to run a stable copy for each feature branch of a project
    • on a CI server, to keep builds from interfering with each other, you can set the project name to a unique build number
    • on a shared host or dev host, to prevent different projects, which may use the same service names, from interfering with each other

    The default project name is the basename of the project directory. You can set a custom project name by using the -p command line option or the COMPOSE_PROJECT_NAME environment variable.

    关于docker - 在docker compose中将文件夹名称前缀为容器名称的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64369368/

    相关文章:

    laravel - 无法找到用户 sail : no matching entries in passwd file

    用于运行 docker 的 Python 脚本

    docker - AWS ECS如何在私有(private)桥接网络中启动容器

    Mysql2::Error:排序内存不足,考虑使用 docker-compose.yml 增加服务器排序缓冲区大小

    postgresql - 从 docker compose 启动的容器无法连接到另一个容器

    mysql - 删除容器时 docker 卷会发生什么

    docker - 我将如何设置kubernetes服务和Pod的IP地址和端口以将一些信息发送到Pod中?

    docker - go-docker 客户端每秒钟获取容器日志不返回任何内容

    docker - 这些 docker-containes 是什么意思?

    php - Docker镜像构建了不同版本的应用程序