Je me débattais avec le problème de l'exécution du cliché de menu fixe sur une passerelle Dell 5100 IoT Edge. J'ai une autre passerelle Dell - la 3001 - qui ne fait PAS face à ce problème.
Voici les étapes que j'ai effectuées sur la passerelle Dell 5100:
Installé le Docker Snap, voici la sortie de '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 -
Après l'installation, j'ai lancé la commande indiquée dans docker.help pour activer les bonnes interfaces de capture:
Sudo snap connect docker:home :home
Sortie de la commande 'snap interfaces' après avoir exécuté la commande dans # 2 ci-dessus.
$ 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:~$
J'ai ensuite vérifié l'état d'apparmor du menu fixe en utilisant la commande suivante:
Contrairement à ce que je vois dans la sortie 3001 pour la même commande, il manque 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)
Voici la sortie de la passerelle Dell 3001 pour l'état apparmor et la liste d'instantanés:
La grande différence entre le 3001 et le 5100 réside dans la version du système d'exploitation. Ubuntu Core est un nouvel utilisateur et je n'arrive pas à comprendre pourquoi docker-default manque dans l'état apparmor. J'ai redémarré, restauré en usine et essayé beaucoup d'autres choses. Le problème qui se manifeste est le suivant:
Je suis capable de tirer une image, et cela fonctionne, j'ai utilisé la commande suivante:
Sudo docker pull Eclipse-mosquitto:1.4.10
L'image est tirée, mais quand j'essaie de l'exécuter:
$ 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...
J'ai aussi essayé de l'exécuter avec la politique d'absence de confinement, puis j'obtiens un 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\"".
Notez que les deux étapes décrites ci-dessus ne concernent pas les mêmes étapes sur la passerelle Dell 3001.
Tout d’abord, nous nous excusons de ne recevoir aucune réponse à votre question très importante. Comme note aux autres personnes susceptibles de se heurter à ce problème, le principal problème était que la capture instantanée principale sur le 3001 où docker s'exécutait avec succès était une version plus récente de la capture instantanée principale, tandis que sur la 5100, la capture instantanée était bloquée. dans la même version obsolète livrée avec l’image d’origine Ubuntu Core. La version obsolète présentait un problème qui empêchait la réception de nouvelles versions de la capture instantanée. Le problème a été résolu du côté de la boutique Ubuntu afin que cet ancien composant logiciel enfichable puisse être mis à jour vers la dernière version validée. Ce problème particulier ne devrait donc affecter personne d'autre.
Aussi, pour référence future, je voudrais vous indiquer le forums snapcraft.io où tout est pris en compte et Ubuntu Core sont discutés.
Il vous manque en effet l'option --security-opt seccomp:unconfined
et le montage de liaison -v /sys/fs/cgroup:/sys/fs/cgroup:ro
(les deux n'ont aucun sens lorsque vous utilisez le menu fixe, car il est déjà entièrement confiné).
--security-opt apparmor:unconfined --security-opt seccomp:unconfined -v /sys/fs/cgroup:/sys/fs/cgroup:ro
c’est la bonne chose à faire ici ... le confinement instantané enroulé autour de l’exécutable de docker assurera la sécurité.
Cela n’a pas l’air de plaire, car c’est une très vieille version du composant logiciel enfichable. Fondamentalement, ce problème est survenu une fois et a été signalé par un représentant de Dell il y a 5 mois.
Réparer.
Veuillez exécuter la commande suivante pour maintenir tous les clichés à jour
Sudo snap refresh
Si vous rencontrez le problème comme suit lors de la mise à jour de la capture instantanée du magasin de la marque
Error cannot refresh "core" :cannot refresh "core" to revision xxxx: no validation by "xxxxxx"
Cela signifie que l'accrochage principal n'est pas encore validé bien qu'il ait été qualifié. Cependant, vous pouvez toujours le mettre à jour avec l'option --ignore-validation
en exécutant:
Sudo snap refresh core --ignore-validation
Conformément aux recommandations de Jim, toutes les discussions relatives aux composants logiciels enfichables et au noyau ubuntu ont été déplacées vers le forum snapcraft.io . C'est le lieu de prédilection pour des discussions animées où vous recevez toujours des commentaires en temps voulu.