Jenkins unable to access Docker daemon due to torcx

404 views
Skip to first unread message

Devin Flickinger

unread,
Dec 15, 2017, 4:52:24 PM12/15/17
to CoreOS User
Hey everyone, I'm a junior dev getting my feet wet at my job with some Dev-Ops stuff. 

When using docker in a Jenkins pipeline script I was given the following error:
[Test-Docker] Running shell script
+ docker build -t getintodevops/hellonode .
The program docker is managed by torcx, which did not run.


We are using the free version of Tectonic on AWS
Kubernetes    v1.6.4+coreos.0
Tectonic         1.6.4-tectonic.1
Jenkins          ver. 2.67

Jenkins is installed via helm specifically the official 0.8.9 Jenkins Chart

I've done a bit of reading about torcx and the bugs around it. Seems like its related to 
and deals with bindmounts not being a thing in torcx

Looking for work arounds or solutions to this so Jenkins can build and push images

David Michael

unread,
Dec 15, 2017, 5:11:55 PM12/15/17
to Devin Flickinger, CoreOS User
On Fri, Dec 15, 2017 at 4:52 PM, Devin Flickinger <devin...@gmail.com> wrote:
> Hey everyone, I'm a junior dev getting my feet wet at my job with some
> Dev-Ops stuff.
>
> When using docker in a Jenkins pipeline script I was given the following
> error:
> [Test-Docker] Running shell script
> + docker build -t getintodevops/hellonode .
> The program docker is managed by torcx, which did not run.
>
>
> We are using the free version of Tectonic on AWS
> Kubernetes v1.6.4+coreos.0
> Tectonic 1.6.4-tectonic.1
> Jenkins ver. 2.67
>
> Jenkins is installed via helm specifically the official 0.8.9 Jenkins Chart
>
> I've done a bit of reading about torcx and the bugs around it. Seems like
> its related to
> https://github.com/coreos/bugs/issues/2112
> and deals with bindmounts not being a thing in torcx

Yes, bind-mounting the Docker program into a container was always a
bad configuration. The binary is dynamically linked, and before
torcx, it would fail to execute in certain containers depending on
which distro they used as a base.

The correct setup is to build a container that includes a Docker
binary built for that environment. The socket can still be
bind-mounted from the host.

If that is not possible, you could mount the binary from
/run/torcx/unpack/docker/bin/docker on the host, but that would still
be prone to stop functioning in the future if its dynamic libraries
ever change.

Thanks.

David
Reply all
Reply to author
Forward
0 new messages