docker / docker/cli

platform support is missing in version 3.5 and 3.6

Open
#1,050 8 comments 30 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/stack area/swarm platform/desktop
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:

  1. use version: '3.6' in docker-compose.yml file
  2. add platform to service
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.