HTTPD YUM Install in CentOS Docker Build Fails with cap_set_file

docker

#1

Problem

Attempting to use RUN yum install httpd in a CentOS Dockerfile causes the Docker build to fail with:

Error unpacking rpm package httpd-2.4.6-31.el7.centos.1.x86_64
error: unpacking of archive failed on file /usr/sbin/suexec: cpio: cap_set_file failed - Operation not permitted

Expectation

Image should build without issue as is. I’ve been testing local builds on ElementaryOS, built on Ubuntu 14.04, with no problem.

Research

It looks like this is a known GitHub issue which may be related to building on Ubuntu hosts. There are a number of items mentioned in that GitHub issue, some of which I don’t understand entirely.

Questions

  • Has anyone encountered this?
  • Could I modify the /etc/local/docker to test changing the storage driver as suggested here?

#2

Additional notes since I was limited to 2 links:


#3

Ran a few tests and found that rolling back my base image from CentOS7 -> 6 allows me to build in CircleCI; however; it doesn’t solve the problem of CentOS7 builds here. I was also able to test changing the storage driver as noted in previously linked GitHub comments, but using -s devicemapper just causes the CircleCI docker service to crash immediately.


#4

I’ve run into the exact same issue. I haven’t tried CentOS 6 yet, but would prefer to use 7. Any fixes found yet?


#5

Since this happens on Docker’s own infrastructure (Automatied Builds, see here for example), changing the local storage driver would be a poor workarround, even if it would fix this (which it seems to do not).


#6