網站首頁 編程語言 正文
docker啟動容器錯誤:docker: Error response from daemon: OCI runtime create failed
作者:阿亮_1024 更新時間: 2022-02-21 編程語言用于搜索引擎抓取
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting “/mydata/elasticsearch/config/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.
使用docker run 運行容器一直報這個錯誤,其實原因很簡單,如果你英語好一點就能夠很快解決而不至于像我一樣百度半天找不到想要的答案。
報錯信息的前半部分出現了兩個路徑“/mydata/elasticsearch/config/elasticsearch.yml”和“/usr/share/elasticsearch/config/elasticsearch.yml”,前一個是我外部主機上的路徑,后一個是docker安裝的es里面的地址。我的錯誤就是因為,我在外部創建/mydata/elasticsearch/config/elasticsearch.yml時,把elasticsearch.yml創建成了一個目錄,掛載不上,將外部的elasticsearch.yml改成文件即可。
不知道提示這個錯誤原因有沒有其它可能。
溫馨提示,如果你之前使用docker run命令來根據鏡像新建容器,但是報錯了,然后根據我上面說的操作了,再次重新run還是會出問題,因為你之前,docker run雖然報錯了,容器沒有啟動起來,但是容器已經新建了,可以用docker ps -a查看,這時有兩種處理方式
- 使用命令 docker rm 容器id,刪除之前建的容器,然后在重新run
- 使用命令 docker start 容器id,啟動你之前run報錯建的容器。
后續連帶錯誤
將上面的錯誤解決了之后,我使用docker run命令(已經刪除了原來的容器),啟動了es,如下所示
但是當我使用docker ps 查看時,并沒有es,使用docker ps -a能看到剛剛創建的容器。
現在新問題變成了:使用docker run命令沒有報錯,但是容器并沒有被啟動。
我之前一直以為docker查看容器日志,只能查看已經啟動的容器的日志,但是這次我發現,未啟動狀態的容器,也是能查看日志的。使用命令:
docker logs 容器名
哦豁,現在又有新問題了:
java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes。
這個路徑提示的是 容器里面,也就是es內的路徑,但其實不是。問題是提示的這個路徑所掛載的外部路徑,權限不足。我直接給最高權限777
OK,至此問題完美解決
原文鏈接:https://blog.csdn.net/ql_7256/article/details/121436680
相關推薦
- 2022-07-02 教你使用Pycharm配置遠程Jupyter_python
- 2022-01-21 面試題:說一說es6新增方法
- 2022-10-05 python?matplotlib自定義colorbar顏色條及內置色條詳解_python
- 2022-02-25 Linux下臨時和永久修改主機名
- 2022-08-06 C語言實現UDP通信_C 語言
- 2022-07-27 python中format的用法實例詳解_python
- 2023-10-15 理解C/C++中的鏈接
- 2021-11-26 Linux下查看IP地址不顯示解決辦法_Linux
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支