天天看點

在docker容器中的svn-server建立一個svn倉庫

建立svn容器

docker run \
-p 3690:3690 \
-d -e SVN_REPONAME=repository \
--privileged=true \
--name svn-server \
-v /opt/docker/svn:/var/opt/svn \
garethflowers/svn-server
           

說明:

-v /opt/docker/svn:/var/opt/svn:将容器的/var/opt/svn檔案夾下的内容映射到主控端的/opt/docker/svn檔案夾下面

–name svn-server:容器取名為svn-server

-p 3690:3690:将容器的3690端口映射到主控端器的3690

–privileged=true:将容器以特權方式啟動

-e SVN_REPONAME=repository:環境變量,這裡指定svn倉庫名稱為repository

進入容器内部
docker exec -it svn-server /bin/sh
建立一個名為test-repo的倉庫
svnadmin create /var/opt/svn/test-repo
退出容器,回到主控端
exit
修改倉庫的配置資訊
進入/opt/docker/svn這個目錄,可以看到有一個名為test-repo的檔案夾
cd /opt/docker/svn
進入test-repo/conf檔案夾内部,可看到如下檔案夾:

svnserve.conf:用來配置倉庫

passwd:管理使用者

authz:配置使用者組;配置倉庫通路權限

cd test-repo/
cd conf/
用vi打開svnserve.conf,修改倉庫配置

vi  svnserve.conf
去掉以下三處的注釋,注意行頭不要留白格:


修改完畢之後儲存并退出vi:

:wq
用vi打開passwd,添加一個名為test的使用者,注意行頭不要留白格,等号(=)前後建議加空格,修改完之後儲存并退出vi:

vi passwd


用vi打開authz,添加一個名為test-group的使用者組,并為該使用者組設定倉庫的讀寫權限,修改完畢儲存并退出vi:

vi authz


[groups]
#harry_and_sally = harry,sally
#harry_sally_and_joe = harry,sally,&joe

#建立一個名為test-group的使用者組,并把名為test的使用者加入到使用者組。若多個使用者需要加入使用者組,用英文逗号分隔
test-group = test

#設定test-group使用者組對倉庫test-repo的讀寫權限
[test-repo:/]
@test-group = rw
           

測試建立的倉庫

使用SVNClient工具檢出test-repo

建立temp檔案夾,然後點選svn檢出

版本庫位址:svn://主控端ip/test-repo