簡體   English   中英

Docker: Dockerfile 無法執行 COPY

[英]Docker : Dockerfile can't execute COPY

我要構建一個 docker 圖像。 在我的存儲庫中,我有這些文件:

  • Dockerfile
  • 碼頭工人提示

我的 Dockerfile 是:

FROM fortio/fortio:1.3.1 as fortiobuild

FROM docker:stable-dind

RUN apk add --no-cache tcpdump apache2-utils lynx git tmux py2-pip apache2-utils vim build-base gettext-dev curl bash-completion bash util-linux jq openssh openssl tree python python-dev py-pip libffi-dev openssl-dev libgcc nfs-utils

ENV COMPOSE_VERSION=1.24.1
RUN pip install docker-compose==${COMPOSE_VERSION}
RUN mkdir /etc/bash_completion.d \
    && curl https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker -o /etc/bash_completion.d/docker \
    && sed -i "s/ash/bash/" /etc/passwd

RUN rm /sbin/modprobe && echo '#!/bin/true' >/sbin/modprobe && chmod +x /sbin/modprobe

COPY ["docker-prompt", "sudo", "/usr/local/bin/"]

我已經運行了這個 cmd:

docker 構建-t“myImage”

但如果拋出這個失敗:

步驟 8/8: 復制 ["docker-prompt", "sudo", "/usr/local/bin/"] 復制失敗: stat /var/lib/docker/tmp/docker-builder273771066/sudo: 沒有這樣的文件或目錄

由於不清楚是什么問題,

建議?

COPY 命令僅適用於源和目標,如果您想擁有sudo文件,則需要使用--chown 否則復制命令會將Sudo視為源路徑。

復制

COPY有兩個forms:

COPY [--chown=<user>:<group>] <src>... <dest>
COPY [--chown=<user>:<group>] ["<src>",... "<dest>"] (this form is required for paths containing whitespace)

筆記:

--chown 功能僅在用於構建 Linux 容器的 Dockerfile 上受支持,並且不適用於 Windows 容器。 由於用戶和組所有權概念不能在 Linux 和 Windows 之間進行轉換,因此使用 /etc/passwd 和 /etc/group 將用戶名和組名轉換為 ID 會限制此功能僅適用於基於 ZEDC9F0A5A5D57797BF68E3 的容器。

我假設您正在尋找類似的方法

COPY --chown=root:root docker-prompt /usr/local/bin/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM