【Docker疑難雜症】orphan containers …被孤立的容器

更新於 發佈於 閱讀時間約 2 分鐘
raw-image


首先非常推薦您先閱讀「【Docker 容器化】初探微服務時代的虛擬化技術」, 初步了解容器化可以為我們軟體開發帶來哪些好處, 相信您在操作Docker的過程中應該也有機會遇到「orphan containers」的問題, 如果您有更好的解決方法也歡迎底下留言分享給各為兄弟姊妹, 讓我們共同學習成長。


咦! 怎麼啟動個docker compose up -d就出現了可疑的訊息:

+] Running 2/2d orphan containers ([xxxx]) for this project. 
If you removed or renamed this service in your compose file, you can run

這是什麼狀況呢? 照理說, 我們使用docker compose來管理容器應該會避免掉許多問題才對呀! 那為什麼又出現這狀況呢? 根據我們對這個問題的蒐集歸納出幾個原因:

raw-image


看完上述可能原因之後, 我們推測一下遇到的狀況可能是因為我們的專案裡有兩份compose.yml, 一份是compose.dev.yml一份是compose.yml, 而某一個環境啟動之後, 因為程式發生意外但容器並未刪除, 導致遺留, 時間久了之後, 又切換成另外一份環境啟動, 就出現了「orphan containers」的狀況了!

可以怎麼解決?

raw-image


我們也可以簡單暴力的卸載時移除孤兒容器:

docker compose down --remove-orphans

最好在啟動時加入 -p 的參數來隔開專案的名稱衝突。

docker compose -p xxx專案 up -d 

結語

雖然我們使用docker compose來管理容器已經減少大幅度的複雜度了, 但過程中仍會遇到小問題, 沒關係, 遇到問題我們就是解決, 也順便整理思路, 除了幫助一樣遇到問題的朋友們之外, 也幫助自己提升問題解決的思路。

留言
avatar-img
留言分享你的想法!
avatar-img
阿Han的沙龍
129會員
284內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
阿Han的沙龍的其他內容
2024/12/04
當我們在Ubuntu下載 cursor 這套編輯工具並進行以下步驟安裝時: sudo apt-get install libfuse2 chmod +x cursor-0.42.5x86_64.AppImage ./cursor-0.42.4x86_64.AppImage sudo mv
Thumbnail
2024/12/04
當我們在Ubuntu下載 cursor 這套編輯工具並進行以下步驟安裝時: sudo apt-get install libfuse2 chmod +x cursor-0.42.5x86_64.AppImage ./cursor-0.42.4x86_64.AppImage sudo mv
Thumbnail
2023/12/19
情境描述 小明身為Linux系統工程師, 目前接到一個緊急任務, 需要在客戶端確保csv表的某個欄位的值不能重複, 對於軟體工程師來說只要寫個程式就能夠解決, 但客戶端並沒有相關的程式語言啊! 這時候只能夠使用現成的工具來完成,而經驗老道的我們很快就想到了解決方法, 不要急, 就讓我們一步
Thumbnail
2023/12/19
情境描述 小明身為Linux系統工程師, 目前接到一個緊急任務, 需要在客戶端確保csv表的某個欄位的值不能重複, 對於軟體工程師來說只要寫個程式就能夠解決, 但客戶端並沒有相關的程式語言啊! 這時候只能夠使用現成的工具來完成,而經驗老道的我們很快就想到了解決方法, 不要急, 就讓我們一步
Thumbnail
2023/11/21
我們在進行Linux作業時, 常常會撰寫一些腳本來進行我們的任務, 而我們執行任務當下假如沒有將當時的參數紀錄起來常常事後追朔時很容易就遺漏掉, 尤其是在AI模型訓練這一塊, 每次的訓練都是好幾個小時甚至好幾天⏱️⏱️⏱️, 我們常常會需要對模型訓練的參數與結果進行分析, 那麼蛛絲馬跡就非常重要了,
Thumbnail
2023/11/21
我們在進行Linux作業時, 常常會撰寫一些腳本來進行我們的任務, 而我們執行任務當下假如沒有將當時的參數紀錄起來常常事後追朔時很容易就遺漏掉, 尤其是在AI模型訓練這一塊, 每次的訓練都是好幾個小時甚至好幾天⏱️⏱️⏱️, 我們常常會需要對模型訓練的參數與結果進行分析, 那麼蛛絲馬跡就非常重要了,
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
咦! 怎麼啟動個docker compose up -d就出現了可疑的訊息: +] Running 2/2d orphan containers ([xxxx]) for this project. If you removed or renamed this service in your
Thumbnail
咦! 怎麼啟動個docker compose up -d就出現了可疑的訊息: +] Running 2/2d orphan containers ([xxxx]) for this project. If you removed or renamed this service in your
Thumbnail
為什麼要用Docker安裝? Docker是一個容器化平台, 就類似於我們早期虛擬機的VMWare、Virtual Box…等, 虛擬機平台一般, 只是面向的是伺服端, 供企業快速、簡單、輕量的佈署開發完成的程式軟體, 並將相關的環境依賴皆封裝成一包所謂的映像檔(image), 透過這樣的方式減少
Thumbnail
為什麼要用Docker安裝? Docker是一個容器化平台, 就類似於我們早期虛擬機的VMWare、Virtual Box…等, 虛擬機平台一般, 只是面向的是伺服端, 供企業快速、簡單、輕量的佈署開發完成的程式軟體, 並將相關的環境依賴皆封裝成一包所謂的映像檔(image), 透過這樣的方式減少
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
前言 上次講到 Dockerfile、DockerImage、Docker Container 他們之間的關係,今天我們要來熟悉 Docker Image 如何使用,教你如何抓取雲端上的 Docker Image, Docker Image 下載來源 當我們今天要要使用 Docker Imag
Thumbnail
前言 上次講到 Dockerfile、DockerImage、Docker Container 他們之間的關係,今天我們要來熟悉 Docker Image 如何使用,教你如何抓取雲端上的 Docker Image, Docker Image 下載來源 當我們今天要要使用 Docker Imag
Thumbnail
前言 上次我們初步體驗 Docker 快速佈署能力,今天我們要來講解 Dockerfile、Docker Image 與 Docker Container 這些常見的名詞,我們來了解在我們佈署的時候做哪些事情 Docker 佈署流程 首先看到如下圖上半部,在我們一個完整的佈署流程,我們會先將我
Thumbnail
前言 上次我們初步體驗 Docker 快速佈署能力,今天我們要來講解 Dockerfile、Docker Image 與 Docker Container 這些常見的名詞,我們來了解在我們佈署的時候做哪些事情 Docker 佈署流程 首先看到如下圖上半部,在我們一個完整的佈署流程,我們會先將我
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇
Thumbnail
前言 該如何自架 docker registry 呢? docker registry 可以幫助我們做什麼事情呢? docker registry 是可以將我們打包好的 docker image,放置到 docker registry 上面,在我們開始要佈署服務時,從 docker registr
Thumbnail
前言 該如何自架 docker registry 呢? docker registry 可以幫助我們做什麼事情呢? docker registry 是可以將我們打包好的 docker image,放置到 docker registry 上面,在我們開始要佈署服務時,從 docker registr
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News