SONiC требует Docker версии 17.06.1 или новее.
Я пытаюсь создать образ виртуального коммутатора SONiC, следуя этим инструкциям https://github.com/Azure/sonic-buildimage . У меня проблема в том, что когда я запускаю "make init", я получаю эту ошибку.
Makefile.work:69: *** SONiC requires Docker version 17.06.1 or later. Stop.
Однако моя версия докера - 20.10.3
~/sonic-buildimage$ sudo docker version
Client: Docker Engine - Community
Version: 20.10.3
API version: 1.41
Go version: go1.13.15
Git commit: 48d30b5
Built: Fri Jan 29 14:33:13 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.3
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 46229ca
Built: Fri Jan 29 14:31:25 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.19.0
GitCommit: de40ad0
~/sonic-buildimage$
Так что я делаю не так? Спасибо!
2 ответа
Вам необходимо настроить свою систему, чтобы разрешить выполнение команды «docker» без «sudo»: добавьте текущего пользователя в группу docker sudo gpasswd -a ${USER} docker Выйдите из системы и войдите снова, чтобы ваше членство в группе было переоценено. .
Обязательно выйдите из системы и войдите снова. Это, безусловно, решит проблему.
Это может быть не очень полезно, но я столкнулся с той же проблемой при запуске make init. Думал, что проблема связана с тем, что мой локальный пользователь не находится в группе докеров (уже добавил пользователя, но все же ...) или что служба докеров не запущена (пытался запустить службу, но это не помогло). Чтобы убедиться, что все службы докеров или необходимые сокеты не были активированы, когда я установил moby-engine, я перезагрузил свой компьютер и проверил состояние моей службы докеров (она была отключена). Попробовал снова запустить make init, и все прошло успешно. Мне пришлось использовать sssd, так как я увидел связанную с этим ошибку, когда установил докер. Возможно, что база данных была очищена после перезагрузки, что помогло запустить init.