docker重啟后數(shù)據(jù)丟失 如何實現(xiàn)docker服務(wù)重啟容器不停止?
如何實現(xiàn)docker服務(wù)重啟容器不停止?1. 安裝 Docker在開始前,我們首先得確保在Linux主機中已經(jīng)安裝了Docker。這里,我運行的是CentOS 7 主機,我們將運行yum管理器和下面的
如何實現(xiàn)docker服務(wù)重啟容器不停止?
1. 安裝 Docker在開始前,我們首先得確保在Linux主機中已經(jīng)安裝了Docker。這里,我運行的是CentOS 7 主機,我們將運行yum管理器和下面的命令來安裝Docker。# yum install docker# systemctl restart docker.service2. 創(chuàng)建 Dockerfile現(xiàn)在,Docker守護(hù)進(jìn)程已經(jīng)在運行中了,我們現(xiàn)在準(zhǔn)備創(chuàng)建自己的Firefox Docker容器。我們要創(chuàng)建一個Dockerfile,在其中我們要輸入需要的配置來創(chuàng)建一個可以工作的Firefox容器。為了運行 Docker 鏡像我們需要使用最新版本的CentOS。要創(chuàng)建 Docker 鏡像,我們需要用文本編輯器創(chuàng)建一個名為Dockerfile的文件。# nano Dockerfile
如何保證dockerdaemon重啟,但容器不重啟?
避免Docker容器啟動腳本運行后自動退出的解決辦法 docker run指定的命令如果不是那些一直掛起的命令(比如運行top,不斷echo),就是會自動退出的。-d命令是設(shè)置detach為true,根據(jù)官方的文檔,意思是讓這個命令在后臺運行,但并不是一直運行(我們在一個正常的Linux Terminal中運行/bin/bash,運行完了也就完了,不會一直掛著等待響應(yīng)的,所以確實沒辦法用daemon方式來跑/bin/bash)。這個地方官方早期和現(xiàn)在的文檔也確實有些前后不一致,現(xiàn)在是detach,早期的文檔說指定-d以daemon方式來運行容器,可能存在一定的誤解。 另外,如果你需要跑容器里的bash,直接運行docker run -i -t CONTAINER_NAME /bin/bash 就可以了,如果覺得參數(shù)比docker attach多,可以設(shè)置一個別名(alias)來解決: alias dockerbash="docker run -i -t CONTAINER_ID /bin/bash"設(shè)置好別名后,直接運行dockerbash就可以進(jìn)入容器的bash了
docker容器重啟后容器ip會變么?
不更改運行中的容器配置,容器本身是無狀態(tài)的,當(dāng)然也可以通過進(jìn)入容器內(nèi)部的方式進(jìn)行更改:
docker exec -it
這樣的更改是無法持久化保存的,當(dāng)容器重啟后,更改就丟失了,正確的做法是將需要持久化保存的數(shù)據(jù)放在掛載的存儲卷中,當(dāng)配置需要改變時直接刪除重建。