網(wǎng)站首頁 編程語言 正文
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 運(yùn)行容器一直報這個錯誤,其實(shí)原因很簡單,如果你英語好一點(diǎn)就能夠很快解決而不至于像我一樣百度半天找不到想要的答案。
報錯信息的前半部分出現(xiàn)了兩個路徑“/mydata/elasticsearch/config/elasticsearch.yml”和“/usr/share/elasticsearch/config/elasticsearch.yml”,前一個是我外部主機(jī)上的路徑,后一個是docker安裝的es里面的地址。我的錯誤就是因?yàn)椋以谕獠縿?chuàng)建/mydata/elasticsearch/config/elasticsearch.yml時,把elasticsearch.yml創(chuàng)建成了一個目錄,掛載不上,將外部的elasticsearch.yml改成文件即可。
不知道提示這個錯誤原因有沒有其它可能。
溫馨提示,如果你之前使用docker run命令來根據(jù)鏡像新建容器,但是報錯了,然后根據(jù)我上面說的操作了,再次重新run還是會出問題,因?yàn)槟阒埃琩ocker run雖然報錯了,容器沒有啟動起來,但是容器已經(jīng)新建了,可以用docker ps -a查看,這時有兩種處理方式
- 使用命令 docker rm 容器id,刪除之前建的容器,然后在重新run
- 使用命令 docker start 容器id,啟動你之前run報錯建的容器。
后續(xù)連帶錯誤
將上面的錯誤解決了之后,我使用docker run命令(已經(jīng)刪除了原來的容器),啟動了es,如下所示
但是當(dāng)我使用docker ps 查看時,并沒有es,使用docker ps -a能看到剛剛創(chuàng)建的容器。
現(xiàn)在新問題變成了:使用docker run命令沒有報錯,但是容器并沒有被啟動。
我之前一直以為docker查看容器日志,只能查看已經(jīng)啟動的容器的日志,但是這次我發(fā)現(xiàn),未啟動狀態(tài)的容器,也是能查看日志的。使用命令:
docker logs 容器名
哦豁,現(xiàn)在又有新問題了:
java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes。
這個路徑提示的是 容器里面,也就是es內(nèi)的路徑,但其實(shí)不是。問題是提示的這個路徑所掛載的外部路徑,權(quán)限不足。我直接給最高權(quán)限777
OK,至此問題完美解決
原文鏈接:https://blog.csdn.net/ql_7256/article/details/121436680
相關(guān)推薦
- 2022-04-21 Python數(shù)據(jù)類型中的元組Tuple_python
- 2022-04-05 Python中hash加密簡介及使用方法_python
- 2022-12-02 React函數(shù)式組件Hook中的useState函數(shù)的詳細(xì)解析_React
- 2022-07-20 Python對PDF文件的常用操作方法詳解_python
- 2023-01-10 Go語言defer與return執(zhí)行的先后順序詳解_Golang
- 2023-01-15 GoLang內(nèi)存泄漏原因排查詳解_Golang
- 2022-09-06 C#面向?qū)ο缶幊讨欣锸咸鎿Q原則的示例詳解_C#教程
- 2022-09-09 Python?OpenCV?Hough直線檢測算法的原理實(shí)現(xiàn)_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支