通过build docker image 添加文件时,需要用到ADD或COPY关键字,但是ADD或COPY后面跟的只能是相对于Dockerfile文件所在的目录的路径的目录或文件,有没有一种方法可以通过绝对路径来传送目录或文件?(貌似docker里面有一个cp命令,但是只能从container中复制文件或目录到本机中,并不能从本机到container中。(为什么??))
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
可以用数据卷功能将主机的目录挂载到容器里
Dockerfile 中
ADD
和COPY
命令不能使用绝对路径,只能使用相对路径。这点在官方文档中说的比较清楚https://docs.docker.com/reference/builder/#add 。如果不是非要把文件 build 到 image里,可以通过 run container 的时候通过 -v 参数将 host 文件或目录加载/共享到 container 里。 参考 https://docs.docker.com/userguide/dockervolumes/#mount-a-host-directory-as-a-data-volume
docker 的cp命令可以从容器往外复制,也可以从本机复制的容器。
docker cp more.log e7de404c00bd:/tmp/