Add detailed project name requirements, mechanisms#16915
Add detailed project name requirements, mechanisms#16915aevesdocker merged 2 commits intodocker:mainfrom
Conversation
These changes reflect updated `docker compose` behavior regarding acceptable project names. compose-spec/compose-go#261 changed `docker compose` behavior to require normalized project names as input when using `-p`. Previously `docker compose` normalized project names automatically, leading to errors for some users after the change landed in compose-spec/compose-go v1.2.5 and docker/compose v2.5.1. compose-spec/compose-spec#314 updated the compose spec, effectively enforcing the same constraint for the `name:` config file property. compose-spec/compose-go#362 added information to the error message specifying the correct project name format. compose-spec/compose-go#364 added enforcement of the new project name requirements for all project name mechanisms (`-p`, `name:`, `COMPOSE_PROJECT_NAME`, project dir, working dir). Local development URLs: - http://localhost:4000/compose/reference/#use--p-to-specify-a-project-name - http://localhost:4000/compose/environment-variables/envvars/#compose_project_name - http://localhost:4000/engine/reference/commandline/compose/#use--p-to-specify-a-project-name Production URLs: - https://docs.docker.com/compose/reference/#use--p-to-specify-a-project-name - https://docs.docker.com/compose/environment-variables/envvars/#compose_project_name - https://docs.docker.com/engine/reference/commandline/compose/#use--p-to-specify-a-project-name Signed-off-by: Mike Bland <mbland@acm.org>
✅ Deploy Preview for docsdocker ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
glours
left a comment
There was a problem hiding this comment.
The changes in the _data/compose-cli/docker-compose.yaml should be removed as the reference documentation is coming from docker/compose repository
| Each configuration has a project name. Compose sets the project name using | ||
| the following mechanisms, in order of precedence: | ||
|
|
||
| - The `-p` command line flag | ||
| - The `COMPOSE_PROJECT_NAME` environment variable | ||
| - The top level `name:` variable from the config file (or the last `name:` | ||
| from a series of config files specified using `-f`) | ||
| - The `basename` of the project directory containing the config file (or | ||
| containing the first config file specified using `-f`) | ||
| - The `basename` of the current directory if no config file is specified | ||
|
|
||
| Project names must contain only lowercase letters, decimal digits, dashes, | ||
| and underscores, and must begin with a lowercase letter or decimal digit. If | ||
| the `basename` of the project directory or current directory violates this | ||
| constraint, you must use one of the other mechanisms. |
There was a problem hiding this comment.
This file is generated from the upstream docker/compose repository, I opened a PR to report those changes directly in the reference documentation
This reverts part of commit 9ce29a8. As @glours noted in the review of docker#16915, this content comes from the upstream docker/compose repo. He's opened docker/compose#10390 to apply the update there instead. Signed-off-by: Mike Bland <mbland@acm.org>
|
@glours @aevesdocker Thanks! I see that the changes here have already landed in the production docs:
but that the changes from docker/compose#10390 haven't yet appeared at: Purely out of curiosity, how long before those changes propagate? And per @thaJeztah's observation in docker/compose#10390 (comment), I'm happy to create new PRs (if you prefer) to clarify the first part along the lines of: Compose sets the project name using the following mechanisms, in order of
precedence from highest to lowest:
- The `-p` or `--project-name` command line flag |
Proposed changes
These changes reflect updated
docker composebehavior regarding acceptable project names.compose-spec/compose-go#261 changed
docker composebehavior to require normalized project names as input when using-p. Previouslydocker composenormalized project names automatically, leading to errors for some users after the change landed in compose-spec/compose-go v1.2.5 and docker/compose v2.5.1.compose-spec/compose-spec#314 updated the compose spec, effectively enforcing the same constraint for the
name:config file property. compose-spec/compose-go#362 added information to the error message specifying the correct project name format. compose-spec/compose-go#364 added enforcement of the new project name requirements for all project name mechanisms (-p,name:,COMPOSE_PROJECT_NAME, project dir, working dir).Local development URLs:
Production URLs:
Related issues (optional)
-p,name:config property compose-spec/compose-go#363cc: @ndeloof @laurazard @glours