【问题标题】:Docker-Container can't buildDocker-Container 无法构建
【发布时间】:2020-06-18 08:29:19
【问题描述】:

我尝试启动一个 docker-container,但出现错误:

错误:服务“客户端”构建失败:命令 '/bin/sh -c apt-get update && apt-get install --yes --no-install-recommends apt-transport-https dirmngr gnupg && mkdir -p /etc/apt/sources.list.d && apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4 && echo $repository > /etc/apt/sources.list.d/clickhouse.list && apt -get update && env DEBIAN_FRONTEND=noninteractive apt-get install --allow-unauthenticated --yes --no-install-recommends clickhouse-client=$version clickhouse-common-static=$version locales tzdata && rm -rf /var/ lib/apt/lists/* /var/cache/debconf && apt-get clean' 返回一个非零代码:2

我的码头文件:

    FROM ubuntu:18.04

ARG repository="deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
ARG version=19.*

RUN apt-get update \
    && apt-get install --yes --no-install-recommends \
        apt-transport-https \
        dirmngr \
        gnupg \
    && mkdir -p /etc/apt/sources.list.d \
    && apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4 \
    && echo $repository > /etc/apt/sources.list.d/clickhouse.list \
    && apt-get update \
    && env DEBIAN_FRONTEND=noninteractive \
        apt-get install --allow-unauthenticated --yes --no-install-recommends \
            clickhouse-client=$version \
            clickhouse-common-static=$version \
            locales \
            tzdata \
    && rm -rf /var/lib/apt/lists/* /var/cache/debconf \
    && apt-get clean

RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

ENTRYPOINT ["/usr/bin/clickhouse-client"]

【问题讨论】:

  • 在您的日志中进一步返回 - 失败的命令本身会有一些输出解释出了什么问题。
  • @PaulBecotte 怎么样?我没有容器来查看日志。我试试看。
  • 它非常适合我。正如@PaulBecotte 所说,日志有助于了解您的执行环境。
  • 我的意思是,docker build 调试。由于存储库访问、兼容性等原因,apt install 中的某些内容似乎失败了……谁知道呢。我会做的是限制 apt 操作来定位问题。所以开始一步一步安装,知道是哪一个导致了rc=2。另外,我会将 apt 操作组合在一起(不包括 mkdir -p 和类似的东西:之前运行)。也许这是 apt-get update 进一步安装的问题。
  • 我会将您的 RUN 分为三个部分:首先执行 mkdirs 和 env 分配,然后进行 apt update && 安装(如有必要,进行更多调试),最后进行清理(rm -rf 和 clean)。

标签: docker dockerfile


【解决方案1】:

我不知道为什么,但问题就在这里:

apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4.

它正在工作:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 2017-09-15
    • 2021-12-24
    相关资源
    最近更新 更多