platform support is missing in version 3.5 and 3.6
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.1k
- Forks
- 2.2k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 43
Description
Description
Docker compose version 3.6 does not support platform attribute on a service object
When running experimental and wanting to use LCOW 👍
I noticed it was added in 2.4 for docker compose https://github.com/docker/compose/pull/5767
which according to the version matrix should be supported by 3.5 and 3.6
Steps to reproduce the issue:
- use version: '3.6' in docker-compose.yml file
- add platform to service
- run docker-compose config
My docker-compose.yml
version: '3.6'
services:
jenkins:
platform: linux
env_file: prod.env
container_name: jenkins
image: jenkins-master
build: .
ports:
- 8080:8080
- 50000:50000
volumes:
- jenkins:/var/jenkins_home
secrets:
- id_rsa
volumes:
jenkins:
secrets:
id_rsa:
file: .\secrets\jenkins_ssh_key
Describe the results you received:
ERROR: The Compose file '.\docker-compose.yml' is invalid because:
Unsupported config option for services.jenkins: 'platform'
Describe the results you expected:
That platform is supported for a service
Additional information you deem important (e.g. issue happens only occasionally):
https://github.com/docker/compose/issues/5953
Output of docker version:
Client:
Version: 18.05.0-ce-rc1
API version: 1.37
Go version: go1.9.5
Git commit: 33f00ce
Built: Thu Apr 26 00:57:53 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.05.0-ce-rc1
API version: 1.37 (minimum version 1.12)
Go version: go1.10.1
Git commit: 33f00ce
Built: Thu Apr 26 01:06:49 2018
OS/Arch: linux/amd64
Experimental: true
Output of docker info:
Containers: 49
Running: 0
Paused: 0
Stopped: 49
Images: 380
Server Version: 18.05.0-ce-rc1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.87-linuxkit-aufs
Operating System: Docker for Windows
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.934GiB
Name: linuxkit-00155da60c09
ID: DPVM:5U4V:GKJW:DRAL:OQ3O:FIGK:7RPF:7QXW:GLQW:FPEM:SDNT:RP7W
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 20
Goroutines: 36
System Time: 2018-05-10T06:02:17.2846805Z
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Additional environment details (AWS, VirtualBox, physical, etc.):
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Docker Compose file validation for version 3.5 and 3.6 service attributes, using the reported docker-compose config command and the platform field as the entry points. Compare the version matrix and existing platform support behavior, then verify that the provided Compose file validates without the unsupported-config error for both versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, docker-compose, go
- Domain
- cli, devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100