国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker掛載目錄失敗問題解決

這篇具有很好參考價值的文章主要介紹了Docker掛載目錄失敗問題解決。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

天行健,君子以自強(qiáng)不息;地勢坤,君子以厚德載物。


每個人都有惰性,但不斷學(xué)習(xí)是好好生活的根本,共勉!


文章均為學(xué)習(xí)整理筆記,分享記錄為主,如有錯誤請指正,共同學(xué)習(xí)進(jìn)步。


問題背景

運(yùn)行鏡像生成容器時掛載目錄失敗
執(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)錯如下
Docker掛載目錄失敗問題解決,# Docker,docker,容器,運(yùn)維
報(bào)錯代碼復(fù)制過來完整看一遍

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)建失?。ú恢膶Σ粚ξ餭ue =_ =)

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

解決方案一

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

sudo docker history tomcat

Docker掛載目錄失敗問題解決,# Docker,docker,容器,運(yùn)維
發(fā)現(xiàn)交互路徑為/bin/sh
在使用鏡像運(yùn)行容器掛載時,命令最后加上這個交互路徑,如下

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,無報(bào)錯
Docker掛載目錄失敗問題解決,# Docker,docker,容器,運(yùn)維
此方法可以掛載成功
此方法有個問題,就是掛載成功后,容器中Tomcat目錄中啥也沒有,可能是將宿主機(jī)的空目錄同步到容器,就變成了空的,也就是說,掛載目錄前這個目錄不能有東西,不然會自動以宿主機(jī)空目錄為準(zhǔn)

解決方案二

問題分析:
首先想一下,宿主機(jī)中的目錄和容器中的目錄掛載,那么最初的掛載如果兩邊目錄都有文件或目錄,且內(nèi)容不同,掛載后會是什么樣的結(jié)果呢?是宿主機(jī)中的目錄中出現(xiàn)容器目錄的內(nèi)容?還是容器目錄中出現(xiàn)了宿主機(jī)的內(nèi)容?亦或是兩邊目錄中都出現(xiàn)了對方的內(nèi)容?
答案我并沒有去驗(yàn)證,但我用宿主機(jī)的一個空目錄去掛載tomcat容器的tomcat目錄,出現(xiàn)了都為空的現(xiàn)象。大家都知道tomcat中是有文件目錄和文件的,且webapps這個文件夾是大家熟知的。但是宿主機(jī)中tomcat文件夾中確實(shí)空的。

所以我們以掛載Tomcat目錄為例,掛載目錄選擇子文件夾或創(chuàng)建新的子文件夾,如webapps,盡量不要使用主目錄也就是最頂層的目錄來掛載,執(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

可正常掛載,且不用使用類似/bin/sh的鏡像交互命令
Docker掛載目錄失敗問題解決,# Docker,docker,容器,運(yùn)維文章來源地址http://www.zghlxwxcb.cn/news/detail-614786.html


到了這里,關(guān)于Docker掛載目錄失敗問題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Docker -v 掛載主機(jī)目錄到容器中(及數(shù)據(jù)卷容器)

    Docker -v 掛載主機(jī)目錄到容器中(及數(shù)據(jù)卷容器)

    使用 Docker 的過程中,經(jīng)常需要掛載主機(jī)上的目錄或文件到 Docker 容器中,以實(shí)現(xiàn)數(shù)據(jù)的共享或持久化。而 docker run -v 命令便是用于掛載主機(jī)目錄到 Docker 容器中的常用命令。 在創(chuàng)建啟動容器時,使用 -v 參數(shù)設(shè)置數(shù)據(jù)卷 注意事項(xiàng): 目錄必須是絕對路徑 如果目錄不存在,會自

    2024年02月10日
    瀏覽(24)
  • 【Docker】在容器中管理數(shù)據(jù)&&數(shù)據(jù)卷掛載以及宿主機(jī)目錄掛載

    【Docker】在容器中管理數(shù)據(jù)&&數(shù)據(jù)卷掛載以及宿主機(jī)目錄掛載

    ? ? ? ? ? ????????????????????????????歡迎來到我的CSDN主頁!???? ? ? ? ? ? ? ? ? ? ? ? ? ??我是平頂山大師,一個在CSDN分享筆記的博主。???? ? ? ? ? ??推薦給大家我的博客專欄《【Docker】在容器中管理數(shù)據(jù)》。???? ? ? ? ? ? ? ? ? ? ? ? ? ??

    2024年01月16日
    瀏覽(29)
  • 【Docker】Docker掛載和修改容器中的目錄及配置文件的若干種方式

    【Docker】Docker掛載和修改容器中的目錄及配置文件的若干種方式

    我們知道,Docker相當(dāng)于提供了一個 獨(dú)立于宿主機(jī)的運(yùn)行環(huán)境。當(dāng)我們使用Docker部署了中間件例如nginx的容器后,一般都是需要修改配置文件的。那么我們想到的第一個方法就是進(jìn)入容器去修改[1]。 1.進(jìn)入容器內(nèi)修改 首先我們需要有一個已經(jīng)啟動的容器。pull image后通過run-d -

    2024年02月08日
    瀏覽(27)
  • 當(dāng)docker中容器運(yùn)行時,如何將目錄和宿主機(jī)進(jìn)行掛載

    容器已運(yùn)行,但還想掛載文件 容器已經(jīng)運(yùn)行起來了,突然想給容器的目錄進(jìn)行掛載,通常是在運(yùn)行容器時加上 -v? 命令 進(jìn)行掛載。運(yùn)行起來的容器想掛載文件夾可以通過修改容器在宿主機(jī)的配置文件進(jìn)行解決。 在配置文件中加入新的掛載 1.查看容器存放目錄 2.進(jìn)入該目錄

    2024年01月25日
    瀏覽(20)
  • Docker掛載-宿主機(jī)軟連接目錄-問題

    掛載宿主機(jī)軟連接的路徑問題【 -v /usr/local/nginx/:/home/test/nginx/ 】,軟連接可以映射任何路徑,但有一個前提是:其所映射的路徑必須要在容器中存在,否則就無法訪問到數(shù)據(jù) 1、如果軟連接路徑在容器中已經(jīng)存在,如 /root/home ,或者在當(dāng)前掛載命令 -v 前面的 -v 命令已經(jīng)將軟

    2024年02月22日
    瀏覽(29)
  • yapi容器化docker部署以及mongodb容器的持久化掛載異常問題

    通過docker形式部署yapi,需要準(zhǔn)備一個mongodb,然后直接在一個空文件夾里寫好Dockerfile,其中通過wget下載yapi的zip包。 基本按照這篇文章:https://www.modb.pro/db/149666 來處理即可 把mongodb的docker 跑起來, --auth 表示需要密碼才能訪問 注意 原文中啟動mongo的容器是這樣的 首先創(chuàng)建Mon

    2024年02月14日
    瀏覽(22)
  • Docker數(shù)據(jù)管理之三種方式- 數(shù)據(jù)卷(Volumes)- 掛載主機(jī)目錄(Bind mounts)- 數(shù)據(jù)卷容器(Data Volume Containers)

    Docker數(shù)據(jù)管理之三種方式- 數(shù)據(jù)卷(Volumes)- 掛載主機(jī)目錄(Bind mounts)- 數(shù)據(jù)卷容器(Data Volume Containers)

    文章主人公:帥哥BUG?? 文章路人: 路人 ??? ? 路人? ?? ??: docker在容器中管理數(shù)據(jù)主要有三種方式哦~ ??:? ?。?,我記得docker在容器中管理數(shù)據(jù)主要方式是這兩種吧? - 數(shù)據(jù)卷(Volumes) - 掛載主機(jī)目錄(Bind mounts) ? ?? ??:? 額,主要的方式是這兩種?我怎么記得是這

    2024年02月05日
    瀏覽(85)
  • 解決docker通過volumes掛載文件,宿主機(jī)修改后容器內(nèi)不同步,重啟服務(wù)才能同步

    將文件的權(quán)限改為777,即 chmod 777 filename 。 詳細(xì)解釋在該文章: https://huaweicloud.csdn.net/633114e5d3efff3090b51a5a.html 說明: 這是由于linux系統(tǒng)文件掛載機(jī)制導(dǎo)致的。 docker通過volumes掛載文件到容器中,有以下兩種方式: 1、掛載目錄 2、掛載具體文件:并不是掛載了某個文件的路徑,

    2024年03月10日
    瀏覽(32)
  • Docker:本地目錄掛載

    Docker:本地目錄掛載

    查看MySQL容器,判斷是否有數(shù)據(jù)卷掛載 基于宿主機(jī)目錄實(shí)現(xiàn)MySQL數(shù)據(jù)目錄、配置文件、初始化腳本的掛載 docker inspect nginx 是用來獲取關(guān)于 Docker 容器或鏡像配置和元數(shù)據(jù)的詳細(xì)信息的命令。 當(dāng)你運(yùn)行 docker inspect 命令時,它將返回一個 JSON 格式的輸出,其中包含有關(guān)指定容器或

    2024年02月06日
    瀏覽(21)
  • Docker掛載目錄

    read-only權(quán)限 read-write權(quán)限 設(shè)置相同的安全上下文 授予目錄讀寫執(zhí)行權(quán)限, 注意用戶和組和宿主機(jī)上的用戶和組匹配

    2024年02月07日
    瀏覽(44)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包