![](/img/trans.png)
[英]Dockerfile can't copy & Docker-compose volume does not sync with container
[英]Docker : Dockerfile can't execute COPY
我要構建一個 docker 圖像。 在我的存儲庫中,我有這些文件:
我的 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.