![](/img/trans.png)
[英]use command hexo deploy and there are a error --cannot spawn sh:no such file or directory
[英]Jenkins in Docker Error: CP Command Cannot Find Directory
我有一个在服务器上运行 Jenkins 的 docker 容器。 我正在尝试从 GitHub 获取代码并将内容从 Jenkins 管道复制到目标目录。
我的存储/var/jenkins_home/workspace/my-repo
在这里: /var/jenkins_home/workspace/my-repo
我的目标目录是: /home/deploy/project
这是我的 cp 命令: cp -r . /home/deploy/peatio
cp -r . /home/deploy/peatio
这是错误语句: cp: cannot create directory '/home/deploy/peatio': No such file or directory
更新:我在没有 Docker 的情况下安装了 Jenkins,我的用例运行良好。 这是由于在 Docker 容器中运行 Jenkins。 那么,问题是,我们如何通过在 Docker 容器内运行 copy 命令将某些内容从 Docker 容器复制到本地主机? 这甚至可能吗? 我知道docker cp
并且它在 Docker 容器之外使用。
以防万一中间目录丢失,创建它/他们:
mkdir -p /home/deploy/peatio
cp -r . /home/deploy/peatio
不,不可能使用-v
标志或-mount
将容器内部复制到未绑定安装或主机和容器之间共享的其他词的主机位置。
你可以有一个解决方法。
将宿主机的两个目录与容器绑定。
您的 Jenkins 相关配置将保存到jenkins_host_path:/var/jenkins_home
挂载主机的空目录path_to_host_cp/:/jenkins_container_path_for_cp
,所以当你复制一些东西时,比如你的 git repo,将它复制到/jenkins_container_path_for_cp
它将可供主机使用,如果你在主机位置更新新文件,只需运行rm
容器内,然后cp -r . /home/deploy/peatio
cp -r . /home/deploy/peatio
或cp -r . jenkins_container_path_for_cp
cp -r . jenkins_container_path_for_cp
。
您还可以在容器启动时将文件和文件夹从一个位置复制到另一个位置以托管空目录,就好像有任何内容托管该目录一样,它将隐藏容器内容。
$ export JENKINS_HOME=/srv/jenkins
$ export TARGET_DIR=/home/deploy/peatio
$ docker run ***(ignore other important parameters) -v $JENKINS_HOME:/var/jenkins_home -v $TARGET_DIR:/home/deploy/peatio
重要参数: -v $TARGET_DIR:/home/deploy/peatio
$ docker exec -it jenkins bash
$ cp -r . /home/deploy/peatio
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.