Docker还原失败

时间:2018-01-07 20:59:23

标签: mysql docker

Docker的新手。尝试从tar恢复mysql数据库。

sudo docker run -it -v web_db_data:/volume -v /tmp:/backup alpine \ sh -c "rm -rf /volume/* /volume/..?* /volume/.[!.]* ; tar -C /volume/ -xjf /backup/web_db_data.tar.bz2"

我收到错误:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \" sh\": executable file not found in $PATH": unknown.

2 个答案:

答案 0 :(得分:0)

在容器的$ PATH变量中找不到shell“sh”,你可以尝试在Dockerfile中安装它,或者你可以尝试使用bash,也许它已经安装了

答案 1 :(得分:0)

您正在运行一个为多行\编写的命令,并将其压缩到一行。然后\转义一个空格,这样你的容器就会看到带有前导空格的sh命令。变化:

sudo docker run -it -v web_db_data:/volume -v /tmp:/backup alpine \ sh -c "rm -rf /volume/* /volume/..?* /volume/.[!.]* ; tar -C /volume/ -xjf /backup/web_db_data.tar.bz2"

sudo docker run -it -v web_db_data:/volume -v /tmp:/backup alpine sh -c "rm -rf /volume/* /volume/..?* /volume/.[!.]* ; tar -C /volume/ -xjf /backup/web_db_data.tar.bz2"

或将其保留为多行:

sudo docker run -it -v web_db_data:/volume -v /tmp:/backup alpine \
  sh -c "rm -rf /volume/* /volume/..?* /volume/.[!.]* ; tar -C /volume/ -xjf /backup/web_db_data.tar.bz2"