Skip to content
This repository was archived by the owner on Nov 27, 2023. It is now read-only.
This repository was archived by the owner on Nov 27, 2023. It is now read-only.

compose creates resources with invalid names when compose file path begins with underscore (v2) #2022

Closed
compose-spec/compose-go
#169
@chuckdries

Description

@chuckdries

Description

Our compose file is in a folder _account_only_stack, so the compose command is

docker-compose -f ./_account_only_stack/docker-compose-account-only.yml up

With "Use Docker Compose V2" checked in experimental settings, this causes containers to be made with invalid names, throwing errors like

Error response from daemon: no such image: _account_only_stack_gk-payment-internal-api: invalid reference format

and

Error response from daemon: create _account_only_stack_gk-mongo-data: "_account_only_stack_gk-mongo-data" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path

when it goes to create the containers and volumes. The actual containers, images, and volumes in the compose file all have valid names.

Steps to reproduce the issue:

  1. Enable "Use Docker Compose V2" in experimental settings
  2. Create a docker compose file in a directory whose name starts with an underscore. _path_to, for example
  3. Invoke docker-compose with -f ./_path_to/compose.yml

Describe the results you received:
Compose prefixes the names of resources it creates with _path_to, which is an invalid name for docker resources, and thus fails.

Describe the results you expected:
Compose creates resources declared in compose file successfully

Additional information you deem important (e.g. issue happens only occasionally):
N/A

Output of docker-compose --version:

Docker Compose version v2.0.0-beta.6

Output of docker version:

Client:
 Cloud integration: 1.0.17
 Version:           20.10.7
 API version:       1.41
 Go version:        go1.16.4
 Git commit:        f0df350
 Built:             Wed Jun  2 11:56:22 2021
 OS/Arch:           darwin/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       b0f5bc3
  Built:            Wed Jun  2 11:54:58 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Output of docker context show:
You can also run docker context inspect context-name to give us more details but don't forget to remove sensitive content.

default

Output of docker info:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
  compose: Docker Compose (Docker Inc., v2.0.0-beta.6)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 268
  Running: 0
  Paused: 0
  Stopped: 268
 Images: 560
 Server Version: 20.10.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc version: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.25-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.844GiB
 Name: docker-desktop
 ID: UZ2Y:VSTK:35AV:2U2A:7LSA:XKJI:YZN2:Q45K:ZE7M:HXYR:IKWY:M2HO
 Docker Root Dir: /var/lib/docker
 Debug Mode: true
  File Descriptors: 43
  Goroutines: 48
  System Time: 2021-08-17T15:51:23.7970593Z
  EventsListeners: 4
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Additional environment details (AWS ECS, Azure ACI, local, etc.):
N/A

Slack discussion https://dockercommunity.slack.com/archives/C7GKACWDV/p1629175628474300

Metadata

Metadata

Assignees

Labels

compatibilityCompatibility with docker-compose

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions