0

我正在尝试为 k3d 创建一个基于 Ubuntu 的映像并遇到一些问题。请帮忙

Dockerfile

ARG K3S_VERSION=v1.22.6-k3s1
FROM rancher/k3s:${K3S_VERSION} AS k3s

FROM ubuntu:20.04
COPY --from=k3s / /
RUN mkdir -p /etc \
  && echo 'hosts: files dns' > /etc/nsswitch.conf \
  && chmod 1777 /tmp \
  && mkdir -p /var/lib/rancher/k3s/agent/etc/containerd/
VOLUME /var/lib/kubelet
VOLUME /var/lib/rancher/k3s
VOLUME /var/lib/cni
VOLUME /var/log
ENV PATH="$PATH:/bin/aux"
ENTRYPOINT ["/bin/k3s"]
CMD ["agent"]

我正在构建它docker build -t k3s .,然后通过k3d cluster create -i k3s --verbose -a 0 --no-rollback. 这将返回错误(其余日志没有透露太多):

ERRO[0013] Failed Cluster Start: error during post-start cluster preparation: error overwriting contents of /etc/hosts: Exec process in node 'k3d-k3s-default-server-0' failed with exit code '126' 

完整的容器日志可在此处获得。以下是几个(可能)相关的亮点:

time="2022-02-28T20:26:40Z" level=info msg="Waiting to retrieve kube-proxy configuration; server is not ready: https://127.0.0.1:6443/v1-k3s/readyz: 500 Internal Server Error"
Mounting command: mount
Mounting arguments: -t tmpfs -o size=178257920 tmpfs /var/lib/kubelet/pods/37750274-69e3-4695-af0c-b93e749f7c92/volumes/kubernetes.io~projected/kube-api-access-6lzp4
Output:
E0228 20:26:56.919989       8 mount_linux.go:194] Mount failed: fork/exec /usr/bin/mount: no such file or directory

这让我想知道那/usr/bin/mount不存在,我假设这是由于COPY --from=k3s / /覆盖 things`,这是 CUDA 工作流程中推荐的。

那么,我从这里去哪里?

4

0 回答 0