本文闡述如何使用docker安裝svn,并且倉(cāng)庫(kù)數(shù)據(jù)掛載到宿主機(jī),確保容器刪除,數(shù)據(jù)還在。
① 鏡像下載docker search svn docker pull docker.io/garethflowers/svn-server docker images
查看下載好的鏡像文件
② 運(yùn)行容器docker run -v /opt/data/svn/repo:/var/opt/svn --name svn-server -p 3690:3690 --privileged=true -e SVN_REPONAME=repository -d docker.io/garethflowers/svn-server
-name 重命名-e傳遞key-value形式的環(huán)境變量,這里指定倉(cāng)庫(kù)名為 repository-v /opt/data/svn/repo:/var/opt/svn 將容器/var/opt/svn 目錄下的內(nèi)容,掛載到宿主機(jī)/opt/data/svn/repo 下,且刪除容器不會(huì)刪除宿主機(jī)內(nèi)容-d 后臺(tái)運(yùn)行,守護(hù)線程--privileged=true 指定容器是否為特權(quán)容器,特權(quán)容器擁有所有的capabilities
查看運(yùn)行起來(lái)的容器 docker ps
③ 進(jìn)入容器容器進(jìn)行配置##進(jìn)入容器內(nèi)部
docker exec -it svn-server /bin/sh
## 創(chuàng)建倉(cāng)庫(kù) 創(chuàng)建了一個(gè)為repository 的倉(cāng)庫(kù)
svnadmin create /var/opt/svn/repository
##進(jìn)入倉(cāng)庫(kù)配置文件路徑
cd /var/opt/svn/repository/conf
vi svnserve.conf 編輯資源庫(kù)配置
vi passwd 編輯密碼文件,添加用戶,保存
vi authz 編輯權(quán)限相關(guān)配置
exit docker restart svn-server 重啟svn 客戶端
④ 電腦安裝svn客戶端,并且連接安裝svn 客戶端,url為:svn://ip地址/repository 用戶為user1 密碼為123
⑤svn上傳一個(gè)文件,并且刪除svn容器,再安裝看看數(shù)據(jù)是否丟失安裝svn 客戶端,url為:svn://ip地址/repository
用戶為user1 密碼為123 刪除容器 docker rm -f svn-server
重復(fù)②步驟,直接運(yùn)行,無(wú)需再次修改配置文件。然后svn連接,發(fā)現(xiàn)文件還在,掛載成功!
總結(jié): 1.docker 容器掛載不會(huì)刪除宿主機(jī)數(shù)據(jù) 2.凡是涉及到存儲(chǔ)數(shù)據(jù)相關(guān)的,比如mysql,svn等 都要進(jìn)行數(shù)據(jù)掛載,不能放在容器里面,否則容器刪除就找不回來(lái)了
|