天天看点

在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