日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

與機器打交道的工作:細節決定浪費生命的時間——記一次 Docker 與軟鏈接的故障

來源: 責編: 時間:2024-07-19 08:01:38 614觀看
導讀問題背景假設在一臺 ubuntu 服務器上,我們有一個專門存放日頻數據的路徑:ls /data/daily -lh202401012024010220240103...這些數據過于龐大,我們無法將其全部保存在服務器中。對于這些數據,只有當天的路徑,我們需要對其有

問題背景

假設在一臺 ubuntu 服務器上,我們有一個專門存放日頻數據的路徑:fT028資訊網——每日最新資訊28at.com

ls /data/daily -lh202401012024010220240103...

這些數據過于龐大,我們無法將其全部保存在服務器中。對于這些數據,只有當天的路徑,我們需要對其有「寫」的權限,歷史數據我們只讀即可。fT028資訊網——每日最新資訊28at.com

因此,假設今天是 20240717 ,那么,我們可以將小于 20240717 的數據軟鏈接到一個 mount 到服務器上的分布式文件系統中,比如:fT028資訊網——每日最新資訊28at.com

ls /data/daily -lh20240101 -> /mnt/gfs-data/daily/2024010120240102 -> /mnt/gfs-data/daily/20240102...20240716 -> /mnt/gfs-data/daily/2024071620240717

接下來,我們希望啟動的 docker 容器可以訪問 daily 數據,那么:fT028資訊網——每日最新資訊28at.com

docker run /  -v /data/daily:/data/daily /  --name my-service-container /  my-service-image  run-service-command

此時 my-service-container 報錯:fT028資訊網——每日最新資訊28at.com

no such file or directory: /data/daily/20240716

但是當你進入容器:fT028資訊網——每日最新資訊28at.com

docker exec -it my-service-container /bin/bash$ cd /data/daily$ ls20240101  20240102  ...  20240716 20240717# 數據似乎存在?$ ls -l 20240716no such file or directory: 20240716# 明明存在,卻無法訪問?

那么,問題出在了哪里?

我估計讀到這里的讀者中,至少有一半已經知道了問題所在。fT028資訊網——每日最新資訊28at.com

但是讓我們先來看看一些錯誤的思路(也是困住了我的思路):fT028資訊網——每日最新資訊28at.com

一、會不是文件系統權限問題?fT028資訊網——每日最新資訊28at.com

  • 顯然, docker 容器在未開啟 --privileged ,權限是不完整的
  • 尤其是涉及到與 mount 分布式文件系統的交互,這其中是很容易出問題的

二、軟鏈接的問題?fT028資訊網——每日最新資訊28at.com

  • 軟鏈接本身不復雜,但是 docker 與軟鏈接的結合,可能有點問題?
  • 于是甚至很傻地去搜了 stackoverflow ,嘗試類比 docker 、 softlink 、 mount 相關的問題

三、其他更復雜的原因導致的?fT028資訊網——每日最新資訊28at.com

  • 問問 ChatGPT 吧!免費版不聰明,再問問 ChatGPT-4o !
  • 嗯...是我的 prompt 寫得太差了?獲得了一些正確的廢話

如果你已經知道問題,你或許會嘲笑上述費力不討好的一番折騰。但是為什么我(或者其他陷入誤區的讀者)會想到這些呢?fT028資訊網——每日最新資訊28at.com

  1. 思維慣性。大多數日常使用 docker 的人(比如現在的我),對于 docker 的了解是不夠深入的,在經歷過一些 docker 的 bug 后,再遇到類似的問題,首先會順其自然想到是不是 docker 本身的問題
  2. 所見即所得。我明明已經 ls 出了 20240101 20240102 ... 20240716 20240717 ,為什么還會出現 no such file or directory: /data/daily/20240716 ?顯然, 20240716 是軟鏈接的、是來自 /mnt/gfs-data/ 的,而這個龐大的分布式文件系統很有可能存在一些兼容性問題

真正的解決之道

我在 docker 內部敲入下面的命令讓我恍然大悟,甚至為自己的愚蠢發笑:fT028資訊網——每日最新資訊28at.com

docker exec -it my-service-container /bin/bash$ cd /data/daily$ ls -lh20240101 -> /mnt/gfs-data/daily/2024010120240102 -> /mnt/gfs-data/daily/20240102...20240716 -> /mnt/gfs-data/daily/2024071620240717

顯然,軟鏈接在 docker 內部鏈接到了 /mnt/gfs-data/ ,那么,你也需要讓 /mnt/gfs-data/ 映射到本地的 /data/daily/ 路徑上!fT028資訊網——每日最新資訊28at.com

增加一行掛載直接解決問題:fT028資訊網——每日最新資訊28at.com

docker run /  -v /data/daily:/data/daily /  -v /mnt/gfs-data:/mnt/gfs-data /  --name my-service-container /  my-service-image  run-service-command

所以,既不是 docker 的問題,也不是權限的問題,更不是文件系統的問題。fT028資訊網——每日最新資訊28at.com

為什么程序員的下班時間不同

所以,為什么有些程序員下班早,看起來還很輕松?fT028資訊網——每日最新資訊28at.com

他可能并不是摸魚大事。相反,他對于機器有更好的直覺與靈感,而這一切的前提是他積累了足夠的知識與經驗。fT028資訊網——每日最新資訊28at.com

顯然,對于 docker ,僅僅知道基本的 cgroups 實現原理是不夠的。沒有更扎實的基礎知識與經驗作為支撐,我們甚至總是焦頭爛額地走向了錯誤的解決問題的方向。fT028資訊網——每日最新資訊28at.com

細節決定浪費生命的時間。停下來,想一想自己是不是剛剛死腦筋了。fT028資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-101715-0.html與機器打交道的工作:細節決定浪費生命的時間——記一次 Docker 與軟鏈接的故障

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 我們如何管理軟件項目的交付?

下一篇: Java 函數式接口,一文徹底剖析!

標簽:
  • 熱門焦點
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個線程之間通過某種機制進行協調和交互,例如,線程等待和通知機制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實現手段有以下幾種方式:Object 類下
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • 梁柱接棒兩年,騰訊音樂闖出新路子

    文丨田靜 出品丨牛刀財經(niudaocaijing)7月5日,企鵝FM發布官方公告稱由于業務調整,將于9月6日正式停止運營,這意味著騰訊音樂長音頻業務走向消亡。騰訊在長音頻領域還在摸索。為
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級不香了。俗話說,兵無常勢,水無常形,互聯網企業調整職級體系并不稀奇。7月13日,淘寶天貓集團啟動了近年來最大的人力制度改革,目前已形成一
  • 華為HarmonyOS 4升級計劃公布:首批34款機型今日開啟公測

    8月4日消息,今天下午華為正式發布了HarmonyOS 4系統,在更流暢的前提下,還帶來了不少新功能,UI設計也有變化,會讓手機煥然一新。華為宣布,首批機型將會在
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據官方此前宣布,三星將于7月26日在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • 超級標準版旗艦!iQOO 11S全球首發iQOO超算獨顯芯片

    上半年已接近尾聲,截至目前各大品牌旗下的頂級旗艦都已悉數亮相,而下半年即將推出的頂級旗艦已經成為了數碼圈爆料的主流,其中就包括全新的iQOO 11S系
  • 利用職權私自解除被封帳號 Meta開除20多名員工

    11月18日消息,據外媒援引知情人士表示,過去一年時間內,Facebook母公司Meta解雇或處罰了20多名員工以及合同工,指控這些人通過內部系統以不當方式重置用戶帳號,其
  • 中關村論壇11月25日開幕,15位諾獎級大咖將發表演講

    11月18日,記者從2022中關村論壇新聞發布會上獲悉,中關村論壇將于11月25至30日在京舉行。本屆中關村論壇由科學技術部、國家發展改革委、工業和信息化部、國務
Top 主站蜘蛛池模板: 贵州省| 浦江县| 西华县| 喜德县| 屏山县| 舞阳县| 中阳县| 聂荣县| 宝丰县| 堆龙德庆县| 贵港市| 安远县| 岑巩县| 甘泉县| 甘肃省| 通河县| 包头市| 彭阳县| 桂平市| 巴南区| 广德县| 吉首市| 南江县| 虞城县| 浏阳市| 亚东县| 苍山县| 汾西县| 祥云县| 安西县| 察隅县| 柳江县| 平遥县| 黄浦区| 旬邑县| 理塘县| 沧源| 郸城县| 秀山| 乌鲁木齐市| 大城县|