記錄在docker容器內修改配置後退出無法進入的問題

前言:筆者在docker容器內(php運行環境)新增一個supervisor配置文件。在沒有驗證配置文件是否有效和無錯誤內容的情況下,不小心關掉了終端,直接退出容器!!😢

大家請務必記得重啓supervisor驗證配置文件有效性(supervisorctl update)

一、發現問題:

在準備重新進入docker容器內,發現container is not running

  • 嘗試重新 docker restart 容器 後,問題依舊。
  • 好的吧,那我們通過docker ps -a(查看容器列表),發現該容器處於Exited(0)狀態。那確認是容器內部發生錯誤導啓動有效,卻無法進入容器內部
  • 我們通過docker logs 命令打印錯誤,再進行分析,發現就是supervisor配置問題導致容器無法正常開啓,後面附上知識-- 如何查看docker容器日誌

二、解決問題 :

在這裏我根據網上的解決方案提供了2種方式,但是筆者第一種方式卻無法找到對應的映射文件,使用第二種方式實現

(1)通過 docker inspect 命令,獲取Mac本機中該容器的元信息。一般是在 GraphDriver->Data 獲取到自己的容器所在位置

並找到你的錯誤配置and so on,修改後即可重新啓動

(2) 通過docker cp 複製文件覆蓋你的錯誤配置文件

1. 複製docker容器的文件到主機中(一般我們都能記住所修改到的文件,當然如果我們忘記了文件名,那就直接複製整個文件下到本地就Ok)

        docker cp 容器id:docker容器中配置文件路徑 主機路徑

2. 修改配置文件中出錯的地方

3. 將配置文件cp到docker容器

        docker cp 主機文件路徑 容器id:docker容器中配置文件路徑

 

重啓容器後,問題隨機解決。當然,如果2個方法都無法解決,還有其他的解決方式,筆者在百度,google裏還有找到了幾種解決方式,大家可以自行搜索解決。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章