Ubuntu 16.04 LTS tourne dans un conteneur Docker (hébergé sur macOS). La date/heure est décalée d'environ quatre jours.
$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
$ date
Sun May 7 05:57:21 UTC 2017
La date effective est le 11 mai 2017 06:17:13 UTC.
Je voulais résoudre ce problème (vérifier this et this ) mais je ne peux même pas exécuter timedatectl
:
$ timedatectl status
Failed to create bus connection: No such file or directory
Comment puis-je réparer ça?
La dérive temporelle est provoquée par le système d'exploitation hôte sous-jacent qui, pour Docker, n'est pas macOS mais en réalité Linux VM s'exécutant sur macOS. Cela est lié aux heures de veille macOS (par exemple, lorsque vous fermez le couvercle du MacBook). Apparemment, il a récemment été corrigé et devrait être disponible sous peu: https://github.com/docker/for-mac/issues/17#issuecomment-300734810
Pour répondre à la question qui a été posée (comment résoudre Failed to create bus connection: No such file or directory
lors de l'exécution de timedatectl status
dans un conteneur Docker):
Ajoutez les indicateurs suivants à votre commande docker run
:
--privileged
--volume /run/dbus/system_bus_socket:/run/dbus/system_bus_socket:ro
Vous avez besoin du --privileged
, sinon vous obtenez un "Échec d'interrogation du serveur: connexion réinitialisée par un homologue". L'indicateur de volume semble fonctionner correctement avec ro
.