gpt4 book ai didi

linux - 为 Docker 实例化复制文件时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:19 24 4
gpt4 key购买 nike

我正在尝试从 Github 启动并运行 Docker 应用程序。我已经更改了一个 python 文件,所以我不希望 docker 从 Github 中提取,我希望它从机器 (Ubuntu) 上的目录中提取。

原始 Dockerfile:

RUN pip install --no-cache-dir requests==2.7.0
RUN pip install --no-cache-dir simplejson==3.7.3
RUN pip install --no-cache-dir six==1.10.0
RUN pip install --no-cache-dir twilio==4.4.0
RUN pip install --no-cache-dir twill==1.8.0
RUN pip install --no-cache-dir wsgiref==0.1.2
RUN pip install --no-cache-dir zope.interface==4.1.2
RUN pip install --no-cache-dir PyQRCode==1.2.1
RUN pip install --no-cache-dir pypng==0.0.18
RUN pip install --no-cache-dir htmlmin==0.1.10
RUN pip install --no-cache-dir sendgrid==3.6.5

RUN wget -O master.zip https://github.com/thinkst/canarytokens/archive/master.zip?step=1
RUN unzip master.zip
RUN mv /canarytokens-master/* /srv
RUN rm -rf /canarytokens-master
WORKDIR /srv

CMD echo "Please use the docker-compose setup described at https://github.com/thinkst/canarytokens-docker"

我编辑的 Dockerfile:

RUN pip install --no-cache-dir requests==2.7.0
RUN pip install --no-cache-dir simplejson==3.7.3
RUN pip install --no-cache-dir six==1.10.0
RUN pip install --no-cache-dir twilio==4.4.0
RUN pip install --no-cache-dir twill==1.8.0
RUN pip install --no-cache-dir wsgiref==0.1.2
RUN pip install --no-cache-dir zope.interface==4.1.2
RUN pip install --no-cache-dir PyQRCode==1.2.1
RUN pip install --no-cache-dir pypng==0.0.18
RUN pip install --no-cache-dir htmlmin==0.1.10
RUN pip install --no-cache-dir sendgrid==3.6.5

RUN cp /var/www/html/canarytokens-master.zip master.zip
RUN unzip master.zip
RUN mv /canarytokens-master/* /srv
RUN rm -rf /canarytokens-master
WORKDIR /srv

CMD echo "Please use the docker-compose setup described at https://github.com/thinkst/canarytokens-docker"

我所做的唯一更改是将 RUN wget -O master.zip https://github.com/thinkst/canarytokens/archive/master.zip?step=1 行更改为运行 cp/var/www/html/canarytokens-master.zip master.zip

原始版本运行良好,应用程序完全正常运行。编辑的给我以下错误:

cp: cannot stat '/var/www/html/canarytokens-master.zip': No such file or directory

我试过将 canarytokens-master.zip 文件放在不同的位置,包括“/”和“/opt”——导致同样的问题。我已经更改了文件的权限,以便任何人都可以读/写/执行 - 同样的问题。我已经确认该文件确实存在。我可以在命令行手动执行“cp/var/www/html/canarytokens-master.zip master.zip”,它会很好地复制文件。

有什么想法吗?

最佳答案

无论您使用 RUN cp .... 做什么,都是在构建镜像的容器本地进行的,与您的主机文件系统无关。

您需要将该 zip 文件放在构建的上下文 中(通常是放置 Dockerfile 的目录)。然后执行 COPY ./thefile.zip/srv

关于linux - 为 Docker 实例化复制文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44144716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com