Docker构建不允许Gentoo操作

时间:2018-03-30 10:48:09

标签: docker permissions docker-compose gentoo

我有一个docker-compose用这个容器来构建Gentoo

default:
    build: docker/gentoo
    hostname: default.jpo.net

我在多阶段构建中设置Gentoo的Dockerfile是

FROM gentoo/portage as portage

FROM gentoo/stage3-amd64

COPY --from=portage /usr/portage /usr/portage

RUN emerge --jobs $(nproc) -qv www-servers/apache net-misc/curl net-misc/openssh

RUN /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
RUN /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
RUN sed -i 's/#PubkeyAuthentication/PubkeyAuthentication/' /etc/ssh/sshd_config
RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh && touch /root/.ssh/authorized_keys

RUN wget -O telegraf.tar.gz http://get.influxdb.org/telegraf/telegraf-0.11.1-1_linux_amd64.tar.gz \
    && tar xvfz telegraf.tar.gz \
    && rm telegraf.tar.gz \
    && mv /usr/lib/telegraf /usr/lib64/telegraf \
    && rm -rf /usr/lib && ln -s /usr/lib64 /usr/lib

ADD telegraf.conf /etc/telegraf/telegraf.conf

COPY entrypoint.sh /
COPY infinite_curl.sh /
RUN chmod u+x /entrypoint.sh /infinite_curl.sh
ENTRYPOINT ["/entrypoint.sh"]

CMD ["telegraf", "-config", "/etc/telegraf/telegraf.conf"]

问题是emerge命令在构建软件包时构建失败。

然后我收到此错误

PermissionError: [Errno 1] Operation not permitted
 * ERROR: dev-libs/apr-1.5.2::gentoo failed (install phase):
 *   dodoc failed

我尝试在我的docker-compose文件中添加privileged=true,并在我的Dockerfile中添加USER root但没有成功。

我也尝试使用openssh的最新版本,但也没有成功。 我搜索了互联网,但我还没有找到任何成功的东西。

Docker版本

Docker version 17.12.0-ce, build c97c6d6

Docker-compose版本

docker-compose version 1.18.0, build 8dd22a9

我在Ubuntu 16.04上使用相同的docker / docker-compose版本在Ubuntu 17.10上运行良好

你有一些线索吗?

1 个答案:

答案 0 :(得分:0)

src-install()中查看ebuild,这似乎是上游的错误。

  

自apr-1.5.1以来#Prallel安装中断

     

#make -j1 DESTDIR =" $ {D}"安装||模具

有几个two bugs与并行构建apr有关。