web-dev-qa-db-fra.com

Impossible d'exécuter la commande dans le conteneur Docker

J'essaie d'exécuter bash dans mon conteneur de menu fixe appelé "bind" via 

docker exec -it bind bash

Je reçois le message d'erreur suivant:

rpc error: code = 2 desc = oci runtime error: exec failed: 
container_linux.go:247: starting container process caused "process_linux.go:110: 
decoding init error from pipe caused \"read parent: connection reset by peer\""

Il n'y a rien d'extraordinaire dans les journaux. Le redémarrage du menu fixe ou du conteneur semblait n'avoir aucun effet. Je me suis également assuré qu'il y avait assez d'espace sur le disque dur. Le démarrage de tout autre fichier binaire dans le conteneur génère la même erreur.

informations de version:

docker --version:

Docker version 1.13.1, build 07f3374/1.13.1

OS: 

cat /etc/redhat-release 

CentOS Linux release 7.6.1810 (Core) 

Toute aide serait appréciée.

6
Fang

Il semble s'agir d'un bogue introduit dans une mise à jour récente des packages RPM de docker. Une solution temporaire consiste à rétrograder tous les packages de Docker vers une version antérieure (75 semble fonctionner).

yum downgrade docker-1.13.1-75.git8633870.el7_5 \
              docker-client-1.13.1-75.git8633870.el7_5 \
              docker-common-1.13.1-75.git8633870.el7_5 \
              docker-rhel-Push-plugin-1.13.1-75.git8633870.el7_5
8
Christoffer Reijer

Voici le rapport de bug sur le bugzilla de Red Hat: https://bugzilla.redhat.com/show_bug.cgi?id=1655214

2
Mickaël Canévet

si tu utilises 

yum update

avant et aucune idée de ce que l'ancienne version de docker, il suffit de lancer 

yum downgrade docker docker-client docker-common

ça marche pour moi

2
XQ DD

Ce problème est connu et a été résolu dans les derniers packages de menu fixe: https://bugzilla.redhat.com/show_bug.cgi?id=1655214

Pour les personnes ayant des problèmes qui ne peuvent pas encore effectuer la mise à niveau, une solution de contournement mentionnée par William Brown ne nécessite pas de rétrogradation.

PID=docker inspect --format {{.State.Pid}} <name of container>
nsenter --target $PID --mount --uts --ipc --net --pid /bin/sh

J'espère que cela fonctionne pour toi

1
Wigglemaster

Aujourd'hui, j'ai installé une mise à jour de Docker (version 1.13.1-84 sur Centos) et depuis lors, j'ai également le même problème pour tous mes conteneurs.

Le passage à la version 1.13.1-75 a fonctionné pour moi.

1
Greggy

Je pense que c'est à cause du manque d'autorisations.

Essayez de lancer docker avec Sudo comme ci-dessous.

Sudo docker exec -it bind bash

J'espère que cela t'aides.

0
Varun Karthik

"La connexion est réinitialisée par un homologue", se produit généralement lorsqu'il existe une certaine incompatibilité de ports. Comme si vous n'aviez pas exposé un port et essayé de l'utiliser, ou des mappages de ports incorrects. En fait, s'il s'agit d'un service lié à localhost, veuillez le vérifier, car si vous souhaitez héberger un service, vous souhaiterez peut-être le lier à 0.0.0.0. 

Cette erreur pourrait être liée à pas mal de problèmes. mais, principalement, cela concorde avec la liaison de mauvais ports et de mauvaises adresses IP. 

0
Srinivas vaddi