好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > docker run啟動的容器掛掉了數據怎么辦

docker run啟動的容器掛掉了數據怎么辦

熱門標簽:地圖標注黃河的位置 山東企業外呼系統公司 靈圖uu電子寵物店地圖標注 400電話號碼辦理多少錢 濮陽好的聯通400電話申請 承德地圖標注公司 虛假地圖標注 百度地圖標注公司位置要多少錢 地圖標注如何改成微信號

情景描述

在某個系統中,功能性的服務使用 docker stack deploy xxx 啟動,某個國產數據庫的服務單獨使用 docker run xxx 啟動,數據庫服務沒有將存儲的位置掛載出來;

結果客戶重啟了服務器…再登錄到服務器重啟服務的時候,發現了一個問題,之前數據庫里的數據可能會消失(如果再使用 docker run 啟動的話)。

解決辦法

嘗試1

起初想的是數據肯定丟了,那就只能重新折騰一次數據了,但工作量太大了…

不過也沒辦法,下次再啟動,把存儲掛載到硬盤就好了,Orz

不過和同事交流了之后,發現了一個更為簡單(但也不是永久的辦法),見嘗試2

嘗試2

同事提到,可以使用 docker start container_name 再次將容器啟動,這樣的話數據還在。后面嘗試了一下,果然數據還在……雖然也只是個臨時的解決辦法

后面想了一下,docker啟動的鏡像,如果不將數據映射出來的話,會存儲在默認的volume;即使用docker restart xxx重啟容器,那變動的數據也還是在的;也就是說在這個地方,服務器重啟了,容器掛掉了(使用docker ps查看,其容器狀態是Exited),但其實之前的數據還會在默認的volume下,只有刪除掉容器的時候,變動的數據才會丟失。

驗證測試

隨便打包一個鏡像,啟動容器,創建一個文件,再停止,再啟動,查看文件是否存在

# 啟動容器
➜ docker_start_test docker run -itd --name docker_run_test 4cbf48630b46 ping 127.0.0.1
d6278f537113122d4ccbe00950790750215c5a09002bcbd1ef6f9e660fc9eaac
➜ docker_start_test docker ps -a
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS           PORTS        NAMES
d6278f537113    4cbf48630b46     "ping 127.0.0.1"     3 seconds ago    Up 2 seconds                  docker_run_test
# 進容器增加文件
➜ docker_start_test docker exec -it docker_run_test /bin/sh
sh-4.2# pwd
/
sh-4.2# touch test
sh-4.2# exit
exit
# 重啟容器
➜ docker_start_test docker stop docker_run_test
docker_run_test
➜ docker_start_test docker ps -a | grep docker_run_test
d6278f537113    4cbf48630b46                             "ping 127.0.0.1"     About a minute ago  Exited (137) 12 seconds ago            docker_run_test
# 進去查看文件是否存在
➜ docker_start_test docker start docker_run_test
docker_run_test
➜ docker_start_test docker exec -ti docker_run_test /bin/sh
sh-4.2# ls
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys test tmp usr var

可以看到,文件 test 依然存在;此時如果停掉容器,使用docker rm刪掉容器,再重新啟動一個同名容器,可以看到,容器內不再有test文件了

# stop / rm掉容器
➜ docker_start_test docker stop docker_run_test
docker_run_test
➜ docker_start_test docker ps -a | grep docker_run
d6278f537113    4cbf48630b46                             "ping 127.0.0.1"     7 minutes ago    Exited (137) 13 seconds ago            docker_run_test
➜ docker_start_test docker rm d6278f537113
d6278f537113
# 啟動新的同名容器
➜ docker_start_test docker run -itd --name docker_run_test 4cbf48630b46 ping 127.0.0.1
99a6f5df0a86e4c07abf184e322a23e4fbec89ff354691459cdac8fcd8687ba3
# 進入容器驗證
➜ docker_start_test docker exec -ti docker_run_test /bin/sh
sh-4.2# ls
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
sh-4.2# ls test
ls: cannot access test: No such file or directory

docker run的說明

從官網看到,start命令的作用是:

Start one or more stopped containers

emmm,挺直白,沒什么可說的

PS

其實最好的辦法,就是將容器的存儲目錄掛載出來…另外,一般來講似乎數據庫服務不應該使用容器啟動

總結

以上所述是小編給大家介紹的docker run啟動的容器掛掉了數據怎么辦,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

標簽:樂山 泰安 上海 淮安 安康 鷹潭 德宏 福州

巨人網絡通訊聲明:本文標題《docker run啟動的容器掛掉了數據怎么辦》,本文關鍵詞  docker,run,啟動,的,容器,掛,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker run啟動的容器掛掉了數據怎么辦》相關的同類信息!
  • 本頁收集關于docker run啟動的容器掛掉了數據怎么辦的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 皇上一边挺进贵妃紧窄湿润| 乱小说欧美综合| 秋葵茄子丝瓜香草榴莲污网址| 免费成人小视频| 精品3D肉动漫AVA片在线观看欧美| 羞耻诊疗室OVA1~6集| 香蕉久久一区二区三区| 迈开腿让我看看草莓| 午夜福利资源在线观看| 高h肉肉乳共妻| 疯狂粗喘进出出轨| 蜜臀导航| 国产女性无套?免费视频软件| 徐倩被校长下药褪去内裤| 龚玥菲一件不剩全棵视频| 国产精品18???高潮网站免费| 顶点韩漫| 嫡女h侍卫肉| 泰国老熟女一区二区在线第三页| 欧美人禽性动交异族另类| 天天夜天天干| 亚洲97i蜜桃网| yy6080久久伦理一区二区| 中国chinese调教在线| 性熟妇videos另类hd| 古代调教奴妾h| 捆绑白丝震动捧强制gc| 动漫诱人的大乳在线观看| 国产农村妇女XXXXX乱大交| 秋霞日韩一区二区三区在线观看| 免费观看无遮挡黄漫漫画| 91香蕉成人app下载| 国产精品福利一区二区三区| 校花的婬肉泬被c小说| 公妇在厨房电影| 么公的好大好硬好深好爽在线视频| 巜和疯狂做爰2中文字幕| 欧美黑人激情| 国产精品999视频| 肌肌桶肤肤的桶网站| 免费网站在线观看人数在哪破解版|