Enabling DOCKER_CLI_EXPERIMENTAL

I would like to try out experimental features like the --platform command line option to docker create but it just doesn’t work. I have:

  buildtest-linux:
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        arch: ['linux/amd64', 'linux/386']

    container:
      image: racket/racket-ci:latest
      options: --init --platform ${{ matrix.arch }}

    env:
      DOCKER_CLI_EXPERIMENTAL: "enabled"
...

But unfortunately it seems that experimental features are still not enabled.

I get (see output in https://github.com/racket/racket/runs/952532552?check_suite_focus=true#step:2:29):

 /usr/bin/docker create --name 12b7aa34cd3c467fbd3eded16d8f69ed_racketracketcilatest_f6c8a3 --label 8118cb --workdir /__w/racket/racket --network github_network_9e7882aeab9248c6a7be2e117fa5bc24 --init --platform linux/amd64 -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work":"/__w" -v "/home/runner/runners/2.272.0/externals":"/__e":ro -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" --entrypoint "tail" racket/racket-ci:latest "-f" "/dev/null"
  "--platform" is only supported on a Docker daemon with experimental features enabled

@pmatos,

I can reproduce the same error.
Looks like, the “experimental” features is not enabled on the GitHub-hosted Linux runners by default.

I have created an issue ticket (actions/virtual-environments#1368) to help you report this problem to the appropriate engineering team for further discussion and evaluation.
You can follow this issue ticket and add your comments in it.

1 Like

Thanks for creating the issue.

I have used multiplatform builds successfully inside github actions. Have you given a try to docker buildx create?

That’s not the point, the point is to run a cross-platform image (previously created using buildx).