bash - 错误:没有这样的容器:路径:尝试在 shell 脚本中使用 cp 时
问题描述
我有一个脚本,它在 docker 容器中创建一个目录并将文件从主机复制到新目录。
# $wpc is a variable holding the container name
#make the directory in the container
docker exec $wpc bash -c "mkdir -p /root/.ssh"
#stop container
docker stop $wpc
#copy file to container
docker cp ~/.ssh/id_rsa $wpc:/root/.ssh/id_rsa
# wait until the wordpress container is running
docker start $wpc
但我收到此错误:
Error: No such container:path: <container_name>:\root\.ssh
语法错了吗?我尝试在复制文件之前更改文件夹的权限,但没有成功。
我在 windows server 2019 和我的 Docker 信息上运行 docker:
Client: Docker Engine - Enterprise
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 08:00:16
OS/Arch: windows/amd64
Experimental: true
Server: Docker Engine - Enterprise
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.24)
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 07:58:51
OS/Arch: windows/amd64
Experimental: true
任何帮助或信息表示赞赏。
解决方案
好的,这并不能完全回答问题,但这是我\
在错误消息中看到字符的唯一问题,而且我整个上午都在与这个问题作斗争。
我找到了解决此问题的一种方法。而不是使用这样的循环:
foreach ($file in Get-ChildItem libfoo*) {
docker cp $file mycontainer:/usr/local/lib
}
我把我要复制的所有文件放到一个目录中,并复制了该目录:
mkdir libs
mv libfoo* libs
docker cp .\libs mycontainer:/usr/local/lib
除非目标目录是/
.
推荐阅读
- angular - Angular 5 - 将组件变量作为 Observable 类型有什么好处?
- ios - 如何在不重新启动应用程序的情况下以编程方式更改应用程序语言?
- python - 如何使用python或windows cmd控制静音电源SPD3303X
- android - 如何清除或删除 Here Maps Android Kotlin 上的路线
- javascript - 在嵌套子文档数组中查找与特定条件匹配的文档总数
- java - 仅更改用户的权限
- php - 在 Woocommerce 中使用 add_to_cart 方法时获取 Cart Item 键
- c# - 使用预处理器指令解析和生成代码
- arrays - Verilog分配部分数组内存
- python - selenium error ElementNotVisibleException: element not visible