Я боролся с проблемой запуска привязки докеров на шлюзе Dell 5100 IoT Edge Gateway. У меня есть еще один шлюз Dell - 3001, который НЕ сталкивается с этой проблемой.
Вот шаги, которые я выполнил на шлюзе Dell 5100:
Установил привязку докеров, вот вывод «snap list»:
admin@localhost:~$ snap list
Name Version Rev Developer Notes
bluez 5.44-2 84 canonical -
core 16.04.1 394 canonical -
docker 17.03.1-ce-1 124 docker-inc -
modem-manager 1.6.2-5 82 canonical -
network-manager 1.2.2-10.2 166 canonical -
snapweb 0.26.1 207 canonical -
stlouis 16.04-1.13 11 canonical -
stlouis-kernel 4.4.0-77-1 19 canonical -
tpm2 1.0-4 18 canonical -
uefi-fw-tools 1.4.1-0.7.2+git 7 canonical -
После установки я выполнил команду, указанную в файле docker.help, чтобы включить правильные snap-интерфейсы:
sudo snap connect docker:home :home
Вывод команды «snap interfaces» после запуска команды в # 2 выше.
$ snap interfaces | grep docker
:docker-support docker:privileged,docker:support
:firewall-control docker
:home docker
:network docker,snapweb,tpm2,uefi-fw-tools
:network-bind docker,snapweb,tpm2
docker:docker-daemon docker:docker-cli
admin@localhost:~$
Затем я проверил статус apparmor для докера, используя следующую команду:
В отличие от того, что я вижу в выводе 3001 для этой же команды, отсутствует docker-default:
$ sudo aa-status | grep docker
snap.docker.compose
snap.docker.docker
snap.docker.dockerd
snap.docker.help
snap.docker.dockerd (1582)
snap.docker.dockerd (1627)
Вот выход из шлюза Dell 3001 для статуса apparmor и списка оснастки:
Большая разница между 3001 и 5100 - это версия ОС - я очень новичок в Ubuntu Core и не может понять, почему в статусе apparor отсутствует docker-default. Я перезагрузился, восстановлен на заводе и пробовал многое другое. Проблема, которая проявляется, такова:
Я могу вытащить изображение, и это работает, я использовал следующую команду:
sudo docker pull eclipse-mosquitto:1.4.10
Изображение вытягивается, но когда Я пытаюсь запустить его:
$ sudo docker run -d -p 1883:1883 -p 9001:9001 --name mqtt -t eclipse-mosquitto:1.4.10
d11e29c04064ea3c546c6c9141abae73508dd2cc98492860accb4461af40b661
docker: Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded...
Я также попытался запустить его с помощью политики ограничения, тогда я получаю oci runtime error:
$ sudo docker run -d --security-opt apparmor=noconfinement -p 1883:1883 -p 9001:9001 --name mqtt -t
eclipse-mosquitto:1.4.10
fe501196f9ac0d27e82b43069aafee4c806d80c1ae9ce363040b96996d74f963
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused
"process_linux.go:258: applying cgroup configuration for process caused \"mkdir /var/lib/snapd/hostfs/sys/fs/cgroup/cpuset/docker: permission denied\"".
Обратите внимание, что тот же шаги на шлюзе Dell 3001 не имеют этих двух проблем, описанных выше.
Во-первых, извинения за отсутствие ответа на ваш очень важный вопрос. В качестве примечания для других, кто может столкнуться с этой же проблемой, основной темой проблемы было то, что основная привязка к 3001, где докер запускался успешно, был в более новой базовой оснащенной версии, тогда как на 5100 ключевая привязка была застряла на той же устаревшей версии, которая поставляется с образцом Ubuntu Core. У устаревшей версии возникла проблема, которая привела к неправильной работе новых версий ядра. Проблема была решена на стороне магазина Ubuntu, поэтому эта старая привязка ядра может быть обновлена до последней проверенной версии, поэтому эта конкретная проблема не должна затрагивать никого.
Кроме того, для будущей справки I ' d хотел бы указать вам на форумы snapcraft.io, где обсуждаются все привязки и Ubuntu Core.
Это выглядит не очень хорошо, так как это очень старая версия базовой привязки. В принципе, эта проблема произошла один раз и была представлена представителем Dell 5 месяцев назад.
Чтобы исправить это.
Пожалуйста, выполните следующую команду, чтобы сохранить все снимки в актуальном состоянииsudo snap refresh
Если вы устраняете проблему следующим образом при обновлении базовой привязки из магазина бренда Error cannot refresh "core" :cannot refresh "core" to revision xxxx: no validation by "xxxxxx"
. Это означает, что привязка ядра еще не проверена, хотя она была квалифицирована. Тем не менее, вы все равно можете обновить его с помощью опции --ignore-validation, выполнив: sudo snap refresh core --ignore-validation
Как рекомендовал Джим, все обсуждения, связанные с привязкой и ubuntu, теперь переместились на форум snapcraft.io. Это предпочтительное место для быстрого обсуждения, где вы всегда получаете своевременную обратную связь.
Во-первых, извинения за отсутствие ответа на ваш очень важный вопрос. В качестве примечания для других, кто может столкнуться с этой же проблемой, основной темой проблемы было то, что основная привязка к 3001, где докер запускался успешно, был в более новой базовой оснащенной версии, тогда как на 5100 ключевая привязка была застряла на той же устаревшей версии, которая поставляется с образцом Ubuntu Core. У устаревшей версии возникла проблема, которая привела к неправильной работе новых версий ядра. Проблема была решена на стороне магазина Ubuntu, поэтому эта старая привязка ядра может быть обновлена до последней проверенной версии, поэтому эта конкретная проблема не должна затрагивать никого.
Кроме того, для будущей справки I ' d хотел бы указать вам на форумы snapcraft.io, где обсуждаются все привязки и Ubuntu Core.
Это выглядит не очень хорошо, так как это очень старая версия базовой привязки. В принципе, эта проблема произошла один раз и была представлена представителем Dell 5 месяцев назад.
Чтобы исправить это.
Пожалуйста, выполните следующую команду, чтобы сохранить все снимки в актуальном состоянииsudo snap refresh
Если вы устраняете проблему следующим образом при обновлении базовой привязки из магазина бренда Error cannot refresh "core" :cannot refresh "core" to revision xxxx: no validation by "xxxxxx"
. Это означает, что привязка ядра еще не проверена, хотя она была квалифицирована. Тем не менее, вы все равно можете обновить его с помощью опции --ignore-validation, выполнив: sudo snap refresh core --ignore-validation
Как рекомендовал Джим, все обсуждения, связанные с привязкой и ubuntu, теперь переместились на форум snapcraft.io. Это предпочтительное место для быстрого обсуждения, где вы всегда получаете своевременную обратную связь.