这个错误怎么解决‘docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:75: mounting "/usr/local/docker_elasticsearch/elasticsearch.yml" to rootfs at "/usr/share/elasticsearch/config/elasticsearch.yml" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.’
时间: 2023-07-15 07:10:09 浏览: 113
这个错误提示是由于在启动 Docker 容器时,挂载的文件路径有误导致的。
具体来说,这个错误提示中提到了一个文件路径 `"/usr/local/docker_elasticsearch/elasticsearch.yml"`,它被挂载到了容器中的 `"/usr/share/elasticsearch/config/elasticsearch.yml"`,但是在挂载时出现了问题,导致容器无法正常启动。
首先,你需要确认一下 `/usr/local/docker_elasticsearch/elasticsearch.yml` 这个路径是否存在,并且该路径下是否有 `elasticsearch.yml` 这个文件。如果该文件不存在,则需要先创建该文件。
其次,你需要检查容器启动命令中关于挂载的部分是否正确。在这个错误提示中,可能是因为在挂载时将一个文件挂载到了一个目录上,或者是将一个目录挂载到了一个文件上,导致挂载失败。因此,你需要确认一下挂载的目标路径是否正确,以及该路径是否存在。
最后,你可以尝试在启动容器时添加 `--privileged` 参数,这会给予容器更高的权限,可能能够解决这个问题。不过,建议你在使用 `--privileged` 参数时要格外小心,以免给容器带来安全风险。
相关问题
docker启动报错 Error response from daemon: failed to create shim task: OCI runtime
docker启动报错 Error response from daemon: failed to create shim task: OCI runtime create failed,这个错误通常是由于docker容器无法启动导致的。根据提供的引用,这个错误可能有多种原因,包括缺少依赖、权限问题、配置错误等等。以下是一些可能的解决方法:
1. 检查docker是否已经正确安装并启动,可以使用命令systemctl status
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "htpasswd": executable file not found in $PATH: unknown.
这个错误表示在创建 Docker 容器时,Docker 引擎尝试在容器中运行一个名为 `htpasswd` 的可执行文件,但是在容器中找不到该文件。这通常是由于在 Dockerfile 中没有安装该文件或没有将其添加到 PATH 环境变量中引起的。
你可以检查 Dockerfile 中是否包含安装 `htpasswd` 的指令,例如:
```
RUN apt-get update && apt-get install -y apache2-utils
```
或者,你可以在容器中手动安装 `htpasswd`,例如:
```
docker exec -it <container_id> apt-get update && apt-get install -y apache2-utils
```
如果你已经安装了 `htpasswd`,则需要将其添加到 PATH 环境变量中,例如:
```
export PATH=$PATH:/usr/sbin
```
然后重新启动 Docker 容器即可。