Solutions détaillées au rapport d'erreurs à l'aide de systemctl pour démarrer les services dans docker_docker

2020-02-14

version docker:


 [root @ localhost gae_proxy] # version docker
 Client:
  Version: 1.10.3
  Version API: 1.22
  Version du package: docker-common-1.10.3-46.el7.centos.10.x86_64
  Version Go: go1.6.3
  Git commit: d381c64-unsupported
  Construit: jeu 4 août 13:21:17 2016
  OS / Arch: linux / amd64

 Serveur:
  Version: 1.10.3
  Version API: 1.22
  Version du package: docker-common-1.10.3-46.el7.centos.10.x86_64
  Version Go: go1.6.3
  Git commit: d381c64-unsupported
  Construit: jeu 4 août 13:21:17 2016
  OS / Arch: linux / amd64 
 

Version miroir


 [root @ b2ca5610d3da /] # cat / etc / redhat-release
 CentOS Linux version 7.2.1511 (Core)
 
 

Échec de la connexion D-Bus: une opération non autorisée est toujours signalée lors du démarrage d'un service via systemctl dans docker.


 [root @ 25d27693a24d ~] # systemctl start sshd
 Impossible d'obtenir la connexion D-Bus: opération non autorisée 
 

La solution consiste à exécuter / usr / sbin / init pendant l'exécution du docker. Par exemple:


 [root @ localhost /] # docker run -tid --name hadoopbase centos / hadoopbase: v001 / usr / sbin / init 
 

Les conteneurs qui s'exécutent de cette manière peuvent utiliser systemctl pour démarrer les services. Certaines personnes disent que le problème de l'exécution d'erreurs via systemctl est résolu dans CentOS7.2, mais je rencontre toujours de tels problèmes en fonctionnement réel.

Une autre solution consiste à utiliser le CMD pour exécuter la commande / usr / sbin / init lors de la génération du fichier image via le Dockerfile, à savoir: CMD ["/ usr / sbin / init"]; >

Référence: https://github.com/docker/docker/issues/7459
           https://github.com/docker/docker/issues/2296

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun et j'espère que tout le monde le soutiendra.

www.xd1998.com@2001-2030Partage De Technologie