我有一个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上运行良好
你有一些线索吗?