欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker run啟動(dòng)的容器掛掉了數(shù)據(jù)怎么辦

 更新時(shí)間:2019年09月04日 14:11:53   作者:wswang  
這篇文章主要介紹了docker run啟動(dòng)的容器掛掉了,數(shù)據(jù)怎么辦,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

情景描述

在某個(gè)系統(tǒng)中,功能性的服務(wù)使用 docker stack deploy xxx 啟動(dòng),某個(gè)國(guó)產(chǎn)數(shù)據(jù)庫(kù)的服務(wù)單獨(dú)使用 docker run xxx 啟動(dòng),數(shù)據(jù)庫(kù)服務(wù)沒有將存儲(chǔ)的位置掛載出來(lái);

結(jié)果客戶重啟了服務(wù)器…再登錄到服務(wù)器重啟服務(wù)的時(shí)候,發(fā)現(xiàn)了一個(gè)問題,之前數(shù)據(jù)庫(kù)里的數(shù)據(jù)可能會(huì)消失(如果再使用 docker run 啟動(dòng)的話)。

解決辦法

嘗試1

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

不過也沒辦法,下次再啟動(dòng),把存儲(chǔ)掛載到硬盤就好了,Orz

不過和同事交流了之后,發(fā)現(xiàn)了一個(gè)更為簡(jiǎn)單(但也不是永久的辦法),見嘗試2

嘗試2

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

后面想了一下,docker啟動(dòng)的鏡像,如果不將數(shù)據(jù)映射出來(lái)的話,會(huì)存儲(chǔ)在默認(rèn)的volume;即使用docker restart xxx重啟容器,那變動(dòng)的數(shù)據(jù)也還是在的;也就是說(shuō)在這個(gè)地方,服務(wù)器重啟了,容器掛掉了(使用docker ps查看,其容器狀態(tài)是Exited),但其實(shí)之前的數(shù)據(jù)還會(huì)在默認(rèn)的volume下,只有刪除掉容器的時(shí)候,變動(dòng)的數(shù)據(jù)才會(huì)丟失。

驗(yàn)證測(cè)試

隨便打包一個(gè)鏡像,啟動(dòng)容器,創(chuàng)建一個(gè)文件,再停止,再啟動(dòng),查看文件是否存在

# 啟動(dòng)容器
➜ 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
# 進(jìn)容器增加文件
➜ 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
# 進(jìn)去查看文件是否存在
➜ 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 依然存在;此時(shí)如果停掉容器,使用docker rm刪掉容器,再重新啟動(dòng)一個(gè)同名容器,可以看到,容器內(nèi)不再有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
# 啟動(dòng)新的同名容器
➜ docker_start_test docker run -itd --name docker_run_test 4cbf48630b46 ping 127.0.0.1
99a6f5df0a86e4c07abf184e322a23e4fbec89ff354691459cdac8fcd8687ba3
# 進(jìn)入容器驗(yàn)證
➜ 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的說(shuō)明

從官網(wǎng)看到,start命令的作用是:

Start one or more stopped containers

emmm,挺直白,沒什么可說(shuō)的

PS

其實(shí)最好的辦法,就是將容器的存儲(chǔ)目錄掛載出來(lái)…另外,一般來(lái)講似乎數(shù)據(jù)庫(kù)服務(wù)不應(yīng)該使用容器啟動(dòng)

總結(jié)

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

相關(guān)文章

  • 使用docker創(chuàng)建靜態(tài)網(wǎng)站應(yīng)用(多種方式)

    使用docker創(chuàng)建靜態(tài)網(wǎng)站應(yīng)用(多種方式)

    這篇文章主要介紹了使用docker創(chuàng)建靜態(tài)網(wǎng)站應(yīng)用(多種方式),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-01-01
  • Docker?Desktop常見的幾種啟動(dòng)失敗問題解決方法

    Docker?Desktop常見的幾種啟動(dòng)失敗問題解決方法

    使用Docker Desktop 可以很方便的啟用 Kubernetes,下面這篇文章主要給大家介紹了關(guān)于Docker?Desktop常見的幾種啟動(dòng)失敗問題解決方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Docker鏡像的制作,上傳,拉取和部署操作(利用阿里云)

    Docker鏡像的制作,上傳,拉取和部署操作(利用阿里云)

    這篇文章主要介紹了Docker鏡像的制作,上傳,拉取和部署操作(利用阿里云),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-11-11
  • 解析Docker 下拉取oracle 11g鏡像配置的問題

    解析Docker 下拉取oracle 11g鏡像配置的問題

    這篇文章主要介紹了Docker 下拉取oracle 11g鏡像配置的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Docker 網(wǎng)絡(luò)模式(四種)詳細(xì)介紹

    Docker 網(wǎng)絡(luò)模式(四種)詳細(xì)介紹

    這篇文章主要介紹了Docker 網(wǎng)絡(luò)模式詳細(xì)介紹的相關(guān)資料,這里提供了四種網(wǎng)絡(luò)模式的介紹,Docker 作為輕量級(jí)容器技術(shù),很多比較不錯(cuò)的功能,網(wǎng)絡(luò)不是多好,這里就整理下,需要的朋友可以參考下
    2016-11-11
  • docker日志出現(xiàn)無(wú)法檢索問題的解決

    docker日志出現(xiàn)無(wú)法檢索問題的解決

    這篇文章主要介紹了docker日志出現(xiàn)無(wú)法檢索問題的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • docker如何動(dòng)態(tài)查看日志最后100行

    docker如何動(dòng)態(tài)查看日志最后100行

    這篇文章主要介紹了docker如何動(dòng)態(tài)查看日志最后100行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>
    2024-01-01
  • Docker安裝mysql超詳細(xì)步驟記錄

    Docker安裝mysql超詳細(xì)步驟記錄

    mysql大家可能習(xí)慣是二進(jìn)制安裝的,現(xiàn)在容器化發(fā)展迅速,也有很多公司是用docker安裝的,下面這篇文章主要給大家介紹了關(guān)于在Docker安裝mysql的超詳細(xì)步驟,需要的朋友可以參考下
    2022-07-07
  • docker?跨平臺(tái)構(gòu)建鏡像的示例詳解

    docker?跨平臺(tái)構(gòu)建鏡像的示例詳解

    這篇文章主要介紹了docker跨平臺(tái)構(gòu)建鏡像的案例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 詳解docker部署SpringBoot及替換jar包的方法

    詳解docker部署SpringBoot及替換jar包的方法

    這篇文章主要介紹了詳解docker部署SpringBoot及替換jar包的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論