当前位置: 首页 > 知识库问答 >
问题:

Docker:Dockerfile无法执行复制

岳均
2023-03-14

我必须建立一个docker图像。在我的存储库中,我保存了这些文件:

  • Dockerfile
  • 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: COPY["docker-提示符","sudo","/usr/local/bin/"]COPY失败:stat /var/lib/docker/tmp/docker-builder273771066/sudo:没有这样的文件或目录

由于不清楚问题出在哪里,

建议?

共有1个答案

洪飞扬
2023-03-14

COPY命令仅适用于源和目标,如果您想将文件拥有给sudo,则需要使用-chown。否则,复制命令将把Sudo视为源路径。

复制

副本有两种形式:

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

注:

-chown特性仅在用于构建Linux容器的Dockerfiles上受支持,在Windows容器上不起作用。由于用户和组所有权概念不会在Linux和Windows之间转换,因此使用/etc/passwd和/etc/group将用户名和组名转换为ID限制了此功能仅适用于基于Linux操作系统的容器。

我假设你在寻找一种方式

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

 类似资料:
  • 主要问题是我使用了JDK9,其中JAXB API不再在默认类路径上。这里是我找到解决方案的链接。 我使用了示例教程中的hibernate 4.3.6版本,并且一切都运行良好,但是当我将版本更新到5.2.10时,我遇到了问题(我知道负责getSessionFactory的代码不同,所以我更改了它)。 我的第一个功能: 例外情况: 线程“main”org.hibernate.internal.util

  • 我正在尝试从命令行从Android SDK 工具运行 。但是,它不会启动并打印以下异常: 我的命令行是: 已设置。 以下是我的安装(sdkmanager - list): 怎么了?

  • 问题内容: 构建示例mvn项目后,我添加了依赖项和Java代码。 然后,我通过成功构建了JAR 。最后,尝试运行JAR时遇到错误。 问题答案: 您需要使用以下命令在清单中设置主类 取自这里。 编辑 如果您想将生成的jar与依赖项打包在一起,可以使用此 取自这里。

  • 构建一个示例mvn项目后,我添加了我的依赖项 然后,我通过成功地构建了我的JAR。最后,我在尝试运行JAR时遇到了一个错误。

  • 我使用了jQuery方法调用:,因此语法类似于: 问题: 当我单击image按钮时,它会给出以下错误消息:

  • 我可以用运行我的应用程序,但是当我只是做时,我得到了 这是我的Docker文件