欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker掛載目錄失敗問(wèn)題解決方法

 更新時(shí)間:2024年10月22日 10:19:24   作者:寒山李白  
在使用Docker時(shí),可能會(huì)遇到掛載目錄失敗的問(wèn)題,這通常是由于路徑錯(cuò)誤或權(quán)限問(wèn)題導(dǎo)致,解決這一問(wèn)題的方法包括檢查掛載路徑、使用正確的交互路徑、避免掛載宿主機(jī)的非空目錄等,需要的朋友可以參考下

一、問(wèn)題背景

運(yùn)行鏡像生成容器時(shí)掛載目錄失敗

執(zhí)行的命令如下

sudo docker run --name tomcat-libai -it -p 8099:8080 -d -v /tomcat-libai/tomcat:/usr/local/tomcat tomcat:latest

為了方便看我們使用\換行

sudo docker run \
--name tomcat-libai \
-it \
-p 8099:8080 \
-d \
-v /tomcat-libai/tomcat:/usr/local/tomcat \
tomcat:latest

執(zhí)行命令后報(bào)錯(cuò)如下

報(bào)錯(cuò)代碼復(fù)制過(guò)來(lái)完整看一遍

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: "catalina.sh": 
executable file not found in $PATH: unknown.

大致意思就是因?yàn)槲募荒苷业街付ǖ淖兞柯窂綄?dǎo)致創(chuàng)建失?。ú恢膶?duì)不對(duì)勿cue =_ =)

以下解決方案內(nèi)容均為個(gè)人理解和嘗試,如果不適用請(qǐng)參考別的文章。

二、解決方案

1. 解決方案一

使用命令查看鏡像交互路徑

sudo docker history tomcat

發(fā)現(xiàn)交互路徑為/bin/sh

在使用鏡像運(yùn)行容器掛載時(shí),命令最后加上這個(gè)交互路徑,如下

sudo docker run --name tomcat-libai -it -p 8099:8080 -d -v /tomcat-libai/tomcat:/usr/local/tomcat tomcat:latest /bin/sh

使用換行符更方便看,如下

sudo docker run \
--name tomcat-libai \
-it \
-p 8099:8080 \
-d \
-v /tomcat-libai/tomcat:/usr/local/tomcat \
tomcat:latest \
/bin/sh

運(yùn)行后返回容器ID,無(wú)報(bào)錯(cuò)

此方法可以掛載成功

此方法有個(gè)問(wèn)題,就是掛載成功后,容器中Tomcat目錄中啥也沒(méi)有,可能是將宿主機(jī)的空目錄同步到容器,就變成了空的,也就是說(shuō),掛載目錄前這個(gè)目錄不能有東西,不然會(huì)自動(dòng)以宿主機(jī)空目錄為準(zhǔn)

2. 解決方案二

問(wèn)題分析:

首先想一下,宿主機(jī)中的目錄和容器中的目錄掛載,那么最初的掛載如果兩邊目錄都有文件或目錄,且內(nèi)容不同,掛載后會(huì)是什么樣的結(jié)果呢?是宿主機(jī)中的目錄中出現(xiàn)容器目錄的內(nèi)容?還是容器目錄中出現(xiàn)了宿主機(jī)的內(nèi)容?亦或是兩邊目錄中都出現(xiàn)了對(duì)方的內(nèi)容?

答案我并沒(méi)有去驗(yàn)證,但我用宿主機(jī)的一個(gè)空目錄去掛載tomcat容器的tomcat目錄,出現(xiàn)了都為空的現(xiàn)象。大家都知道tomcat中是有文件目錄和文件的,且webapps這個(gè)文件夾是大家熟知的。但是宿主機(jī)中tomcat文件夾中確實(shí)空的。

所以我們以掛載Tomcat目錄為例,掛載目錄選擇子文件夾或創(chuàng)建新的子文件夾,如webapps,盡量不要使用主目錄也就是最頂層的目錄來(lái)掛載,執(zhí)行命令

sudo docker --name tomcat-libai -it -p 8099:8080 -d -v /tomcat-libai/tomcat/webapps:/usr/local/tomcat/webapps tomcat:latest

換行表示

sudo docker run \
--name tomcat-libai \
-it \
-p 8099:8080 \
-d \
-v /tomcat-libai/tomcat/webapps:/usr/local/tomcat/webapps \
tomcat:latest

可正常掛載,且不用使用類(lèi)似/bin/sh的鏡像交互命令

總結(jié) 

到此這篇關(guān)于Docker掛載目錄失敗問(wèn)題解決方法的文章就介紹到這了,更多相關(guān)Docker掛載目錄失敗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • CentOS7 阿里云的yum源使用詳解

    CentOS7 阿里云的yum源使用詳解

    這篇文章主要介紹了CentOS7 阿里云的yum源使用詳解的相關(guān)資料,這里對(duì)備份yum源,添加EPEL源,和緩存清理,進(jìn)行了介紹,需要的朋友可以參考下
    2016-11-11
  • Docker?redmine項(xiàng)目管理工具的使用

    Docker?redmine項(xiàng)目管理工具的使用

    Redmine?是一個(gè)開(kāi)源的,基于Web的項(xiàng)目管理和缺陷跟蹤工具,本文主要介紹了Docker?redmine項(xiàng)目管理工具的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-01-01
  • 如何使用docker部署Dashdot工具箱

    如何使用docker部署Dashdot工具箱

    dashdot是一個(gè)簡(jiǎn)潔清晰的服務(wù)器數(shù)據(jù)儀表板,基于React實(shí)現(xiàn) ,主要是顯示操作系統(tǒng)、進(jìn)程、存儲(chǔ)、內(nèi)存、網(wǎng)絡(luò)這五個(gè)的數(shù)據(jù),這篇文章主要介紹了如何使用docker部署Dashdot工具箱,需要的朋友可以參考下
    2024-02-02
  • 使用ssh連接docker服務(wù)器的方法

    使用ssh連接docker服務(wù)器的方法

    這篇文章主要介紹了使用ssh連接docker服務(wù)器的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 基于Docker實(shí)現(xiàn)MySQL主從復(fù)制的詳細(xì)教程

    基于Docker實(shí)現(xiàn)MySQL主從復(fù)制的詳細(xì)教程

    這篇博客整理了如何在Docker環(huán)境下配置MySQL主從復(fù)制,通過(guò)創(chuàng)建和命名兩個(gè)MySQL容器,設(shè)置獨(dú)立IP,并詳細(xì)說(shuō)明了在宿主機(jī)上持久化數(shù)據(jù)、開(kāi)啟root遠(yuǎn)程訪問(wèn)及添加復(fù)制用戶的過(guò)程,需要的朋友可以參考下
    2024-10-10
  • Docker+DockerCompose封裝web應(yīng)用的方法步驟

    Docker+DockerCompose封裝web應(yīng)用的方法步驟

    這篇文章會(huì)介紹如何將后端、前端和網(wǎng)關(guān)通通使用 Docker 容器進(jìn)行運(yùn)行,并最終使用 DockerCompose 進(jìn)行容器編排,感興趣的可以了解一下
    2021-08-08
  • Docker重啟命令的使用詳解

    Docker重啟命令的使用詳解

    Docker重啟命令包括使用systemctl、service命令重啟Docker服務(wù),以及使用dockerrestart命令重啟Docker容器,在重啟Docker服務(wù)之前,建議先停止所有正在運(yùn)行的容器,并確保做好相應(yīng)的準(zhǔn)備和備份
    2025-03-03
  • docker安裝包沖突問(wèn)題解決辦法

    docker安裝包沖突問(wèn)題解決辦法

    這篇文章主要給大家介紹了關(guān)于docker安裝包沖突問(wèn)題解決辦法, docker是現(xiàn)在比較流行的一款虛擬化平臺(tái)了,文中通過(guò)圖文以及代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • Ubuntu系統(tǒng)下docker?Pull鏡像錯(cuò)誤timeout解決辦法

    Ubuntu系統(tǒng)下docker?Pull鏡像錯(cuò)誤timeout解決辦法

    最近在用docker搭個(gè)開(kāi)發(fā)環(huán)境,發(fā)現(xiàn)在拉取鏡像的時(shí)候有點(diǎn)問(wèn)題,這篇文章主要給大家介紹了關(guān)于Ubuntu系統(tǒng)下docker?Pull鏡像錯(cuò)誤timeout的解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • Docker容器安裝Vim編輯器的方法

    Docker容器安裝Vim編輯器的方法

    Docker容器是一種輕量級(jí)、可移植的應(yīng)用程序打包解決方案,在本文中,我們將討論如何在Docker容器中安裝Vim編輯器,為容器增添一個(gè)功能強(qiáng)大的文本編輯器,感興趣的朋友跟隨小編一起看看吧
    2023-08-08

最新評(píng)論