Fang
Fang

Reputation: 2427

Cannot run command in Docker container

I'm trying to execute bash in my docker container called "bind" via

docker exec -it bind bash

I'm getting the following error message:

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\""

There's nothing extraordinary in the logs. Restarting docker or the container seemed to have no effect. I also made sure that there's enough space on the hard drive. Starting any other binary in the container yields the same error.

version info:

docker --version:

Docker version 1.13.1, build 07f3374/1.13.1

OS:

cat /etc/redhat-release 

CentOS Linux release 7.6.1810 (Core) 

Any help would be appreciated.

Upvotes: 6

Views: 8494

Answers (7)

Robin Sving
Robin Sving

Reputation: 3370

This is a known issue and has been fixed in newer docker packages: https://bugzilla.redhat.com/show_bug.cgi?id=1655214

For those with issues who cannot upgrade yet there is a workaround mentioned by William Brown in the issue that does not require a downgrade.

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

Hope this works for you

Upvotes: 2

XQ DD
XQ DD

Reputation: 59

if you use

yum update

before and no idea for what the old version of docker, just run

yum downgrade docker docker-client docker-common

it work for me

Upvotes: 2

Christoffer Reijer
Christoffer Reijer

Reputation: 1995

It seems to be a bug introduced in a recent update to the docker RPM packages. A temporary workaround is to downgrade all docker packages to a previous release (75 seems to work).

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

Upvotes: 8

Here is the bug report on Red Hat's bugzilla : https://bugzilla.redhat.com/show_bug.cgi?id=1655214

Upvotes: 2

Greggy
Greggy

Reputation: 341

Today I installed an update of docker (version 1.13.1-84 on Centos) and since then I also have the same problem for all of my containers.

Downgrading to version 1.13.1-75 worked for me.

Upvotes: 1

Srinivas vaddi
Srinivas vaddi

Reputation: 1

"Connection reset by peer", generally happens when there is a certain mismatch of ports. Like you have not exposed a port and trying to use it, or, improper port mappings. In fact if, it is service a being binded to localhost, please check it, because if you want to host a service, you might want to bind it to 0.0.0.0

This error could relate to quite a lot of issues. but, predominantly, it concords with binding wrong ports and, wrong IPs.

Upvotes: 0

Varun Karthik
Varun Karthik

Reputation: 11

I think this is because of lack of permissions.

Try running docker with sudo like below.

sudo docker exec -it bind bash

Hope this helps.

Upvotes: 0

Related Questions