Использование конкретной версии докера в действиях github

Я хочу использовать действия github для тестирования интеграции докеров sbt-native-packager, которая строит образы докеров из файлов Docker.

Проблема в том, что действия github, похоже, используют старую или настраиваемую версию докера. 3.0.8 определяется как версия. См. неудачный запуск интеграционного теста, который состояния

[1] Обнаруженная версия Docker DockerVersion (3,0,8, None) несовместима с DockerPermissionStrategy.MultiStage.

Я хочу использовать последнюю версию докера 19.x, которая позволяет нам тестировать все функции. В идеале я могу установить разные версии докеров для разных тестовых сценариев, но это было бы неплохо.

Обновить

Выходные данные действия отладки

docker version
Client:
 Version:           3.0.8
 API version:       1.40
 Go version:        go1.12.10
 Git commit:        2355349d
 Built:             Wed Oct 23 17:47:59 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          3.0.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.10
  Git commit:       adfac69
  Built:            Wed Oct 23 17:54:47 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

а также

docker --version

Docker version 3.0.8, build 2355349d

заранее спасибо, Муки


person Muki    schedule 16.12.2019    source источник
comment
Версия докера, которую вы видите, на самом деле является версией для docker ucp. Я бы посоветовал вам создать реальный рабочий процесс и запустить docker --version, чтобы узнать, какая версия докера действительно установлена.   -  person smac89    schedule 17.12.2019
comment
Вроде версия 3.0.8. github-packager/t/sb совершить /   -  person Muki    schedule 17.12.2019


Ответы (2)


Вы можете установить последнюю версию docker, используя подход установки Ubuntu!

В своем рабочем процессе настройте виртуальную машину для установки докера, а затем проверьте версию. rel="nofollow noreferrer in this"> Я проверил это a> и разместил здесь YAML:

name: Check Docker Version

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Check Docker Version
      run: docker --version
    - name: Install Latest Docker
      run: |
        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
        sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu  $(lsb_release -cs)  stable"
        sudo apt-get update
        sudo apt-get install docker-ce
    - name: Check Docker Version
      run: docker --version

Утомительно устанавливать docker с каждой сборкой, но, по крайней мере, вы можете управлять версией таким образом. : D

Я должен добавить, что каждый шаг в задании будет иметь доступ к установленной вами версии. Если вам нужно использовать докер в другом задании, вам придется установить докер для нового вычислительного ресурса.

person Michael J    schedule 18.01.2020

Оказывается, версия сервера произвольна, в то время как версия api является подходящей версией, которую нужно искать.

Связанные ресурсы

person Muki    schedule 25.01.2020
comment
Так какая версия сейчас актуальна в раннерах? - person thisismydesign; 31.01.2020