5-使用docker-svn鏡像

1 找現(xiàn)有的鏡像

dockerhub上搜索到一個(gè),其在github上公布了鏡像構(gòu)建的dockerfile,并且支持http和svn兩種協(xié)議,就這個(gè)吧。
https://github.com/elleFlorio/svn-docker

2 拉取鏡像

docker pull garethflowers/svn-server:1.0
docker pull elleflorio/svn-server:latest   (推薦)

3 啟動(dòng)容器

這里修改一下服務(wù)端口

docker run --name svns \
-v /datacv/svnvol/svn:/home/svn \
-h svns \
-p 3380:80 \
-p 3360:3960 \
-m 200m \
-d elleflorio/svn-server:latest

4 進(jìn)入容器

docker exec -it svns sh

5 建立倉庫

mkdir -p /home/svn/rep
svnadmin create --pre-1.6-compatible /home/svn/rep

為了與原有客戶端兼容(原來VisualSVN為1.7版本),需添加--pre-1.6-xx參數(shù)或者--pre-1.7-xx參數(shù)

chmod 777 /home/svn/rep/db

在容器中需要修改一下這個(gè)目錄的權(quán)限,因?yàn)槟J(rèn)是root創(chuàng)建的倉庫,在window端沒有權(quán)限訪問,否則會(huì)報(bào)錯(cuò):

can't open file db/txn-current-lock:permission

權(quán)限控制

鏡像默認(rèn)沒有對權(quán)限進(jìn)行控制,修改一下配置文件

vi /etc/apache2/conf.d/dav_svn.conf
<Location /svn>
     DAV svn
     SVNParentPath /home/svn
     SVNListParentPath On
     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile /home/svn/passwd.conf
     AuthzSVNAccessFile /home/svn/auth.conf 
     Require valid-user
</Location> 

可以加到鏡像的啟動(dòng)腳本里面,否則容器刪除后需要重新配置。
根據(jù)此處的路徑,配置訪問權(quán)限

cat auth.conf 
[rep:/]
peter=rw
jl=rw
v=r

用戶密碼見下面步驟

6 建立用戶

htpasswd -b /home/svn/passwd.conf peter **
htpasswd -b /home/svn/passwd.conf jl **
htpasswd -b /home/svn/passwd.conf view **

7 網(wǎng)頁訪問

http://xxxx:3380/svn/rep/
會(huì)要求輸入用戶名和密碼

如果訪問失敗,檢查容器80端口沒有起來。則手動(dòng)創(chuàng)建目錄

/etc # mkdir -p /run/apache2/

看Dockerfile源代碼,是有這個(gè)目錄創(chuàng)建的步驟的,但是在我centos7的docker中,該目錄沒有創(chuàng)建成功。很奇葩

8 客戶端訪問

下載一個(gè)與OS匹配的64位客戶端。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容