基于Docker鏡像elleflorio/svn-server搭建SVN服務(wù)器
搭建過程如下:
本文中是基于dcoker鏡像elleflorio/svn-server進(jìn)行部署,部署過程若有不妥之處,還請各路大神指點一二。鏡像信息可在Docker Hub中搜索進(jìn)行查看。
1、在宿主機創(chuàng)建svn相關(guān)目錄
mkdir -p /data/svn/repo
chmod 777 /data/svn/repo
- 創(chuàng)建放svn配置及倉庫的目錄
- 倉庫給予權(quán)限為777,否則在svnadmin無法創(chuàng)建目錄
2、拉取最新鏡像
docker pull elleflorio/svn-server
3、運行容器
docker run --privileged=true -d --name svn-server -p 8011:80 -p 3690:3690 -v elleflorio/svn-server
4、復(fù)制容器中SVN配置文件至宿主機
docker cp svn-server:/etc/subversion /data/svn
5、停止并移除容器
docker stop svn-server
docker rm svn-server
6、運行容器并掛載配置及SVN目錄
docker run --privileged=true -d --name svn-server -p 8011:80 -p 3690:3690 -v /data/svn/repo:/home/svn -v /data/svn/subversion-access-control:/etc/subversion/subversion-access-control -v /data/svn/passwd:/etc/subversion/passwd elleflorio/svn-server
1、端口8011 、3690 可修改為自己要使用的端口; 2、 8011 對應(yīng)于容器內(nèi)httpd的80 端口,也是用于外部訪問svn的端口。
7、查看是否運行成功
docker ps
若能夠看到有svn-server正在運行中,則啟動成功
8、修改容器內(nèi)的httpd.conf中的ServerName
此時如果使用docker logs svn-server 查看日志會發(fā)現(xiàn)以下錯誤  因此,需要修改httdp.conf的錯誤
docker exec -it svn-server /bin/sh
cd /etc/apache2/
vi httpd.conf
 找到ServerName,去掉注釋或者Copy一行,修改為自己的域名或IP+端口,如ServerName 192.168.1.2:8011 退出容器
exit
重啟容器并查看日志
docker restart svn-server
docker logs svn-server

9、配置svnadmin
訪問http://192.168.1.2:8011(此地址為模擬地址)設(shè)置svnadmin
Subversion authorization file: /etc/subversion/subversion-access-control User authentication file (SVNUserFile):/etc/subversion/passwd Parent directory of the repositories (SVNParentPath):/home/svn Subversion client executable:/usr/bin/svn Subversion admin executable:/usr/bin/svnadmin
 點擊保存后,會默認(rèn)創(chuàng)建admin/admin用戶,進(jìn)入界面后可修改admin的默認(rèn)密碼。
10、總結(jié)
- 使用elleflorio/svn-server鏡像搭建SVN后,相對比較方便及快捷;
- 可通過elleflorio/svn-server容器中的svnadmin對SVN進(jìn)行管理,創(chuàng)建資源庫、管理用戶及授權(quán)訪問等比較方便。
參考文章: [1] Docker構(gòu)建Svn服務(wù)器 [2] docker安裝svn創(chuàng)建創(chuàng)庫 svnadmin create repo時報錯提示沒有權(quán)限問題 [3] Docker Hub:https://hub./r/elleflorio/svn-server
|