场景

CentOS7中Docker的安装与配置:


首先按照上面在CentOS7中安装Docker

实现

1、使用Docker搜索svn



docker search svn


CentOS7中使用Docker安装SVN以及配置账号权限_svn

 

 

2、下载第一个STARS最多的



docker pull docker.io/garethflowers/svn-server


CentOS7中使用Docker安装SVN以及配置账号权限_.net_02

 

 

3、运行容器前,先新建宿主机映射的目录



mkdir -p /usr/local/dev/svn/repo


CentOS7中使用Docker安装SVN以及配置账号权限_svn_03

 

 

4、映射数据卷并启动容器



docker run --restart always --name svn -d -v /usr/local/dev/svn/repo:/var/opt/svn -p 3690:3690 garethflowers/svn-server


 

注意:

--name svn  代表指定一个别名,就不用根据容器ID来进行操作了

--restart always 代表容器在宿主机开机时自启动

-v /usr/local/dev/svn/repo:/var/opt/svn  代表将容器内的/var/opt/svn映射到宿主机/usr/local/dev/svn/repo

-p 3690:3690  代表左边宿主机端口映射到容器端口,svn默认3690端口

启动成功后



docker ps


CentOS7中使用Docker安装SVN以及配置账号权限_配置文件_04

 

 

 

5、进入容器内,创建名称为svn的资源仓库



docker exec -it svn /bin/sh


然后



svnadmin create svn


会新建一个svn仓库目录,进入仓库会有几个文件如下

CentOS7中使用Docker安装SVN以及配置账号权限_svn_05

6、修改conf的配置文件



vi svnserve.conf


修改以下五个配置的地方



anon-access = none             # 匿名用户不可读写,也可设置为只读 read
auth-access = write # 授权用户可写
password-db = passwd # 密码文件路径,相对于当前目录
authz-db = authz # 访问控制文件,相对于当前目录
realm = /var/opt/svn/svn # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn


7、修改用户名密码的配置文件



vi passwd


在[users]下面通过"用户名 = 密码"的方式配置。比如这里配置了badao、zhangsan、lisi这三个用户,用户名和密码相同。

CentOS7中使用Docker安装SVN以及配置账号权限_配置文件_06

 

 

8、配置权限文件



vi authz


在[groups]下面添加两个组,把badao和zhangsan放在leader_group组中,把lisi放在user_group组中



leader_group = badao,zhangsan,wangwu
user_group = lisi


然后配置组的权限



[/]
@leader_group = rw
@user_group = r


这里的[/]代表拥有所有仓库的权限

如果要只拥有svn仓库的权限,可以这样写[svn:/] 

@leader_group = rw  这个代表leader_group组下所有用户都拥有读和写的权限

@user_group = r 这个代表user_group组下所有用户只有读的权限

如果要配置单个用户的权限,可以

zhangsan = rw

这种写法。

CentOS7中使用Docker安装SVN以及配置账号权限_用户名_07

 

 

保存,然后退出容器



exit


 

9、重启容器



docker restart svn


 

这里因为上面对容器指定了名字所以不用再使用容器id,当然也可以使用容器id

如果后面需要再修改用户以及组和权限等,需要再次执行进入容器-修改配置文件-重启容器的操作。

10、下载SVN客户端

​https://tortoisesvn.net/downloads.html​

下载TortoiseSVN对应的版本,这里是Windows64位

CentOS7中使用Docker安装SVN以及配置账号权限_docker_08

 

 

下载之后直接双击安装

安装成功后,就可以在某个文件夹下右击显示svn的相关操作了

CentOS7中使用Docker安装SVN以及配置账号权限_用户名_09

 

 

11、检出代码

检出代码前记得将服务器上对应3690端口开放。

在某目录下右击SVN Checkout

这里的地址就是

svn://服务器ip:3690/svn

CentOS7中使用Docker安装SVN以及配置账号权限_.net_10

点击OK,会提示你输入用户名密码,输入上面配置的用户名密码,左下角默认是记住密码的。

检出代码成功,修改文件,右击提交

CentOS7中使用Docker安装SVN以及配置账号权限_docker_11

 

提交之后,可以右键找到TortoiseSVM-Settings-Saved Data-Authentication-Clear All,将用户名密码清除掉,切换其他账户测试权限分配的效果

和提交拉取的效果。

CentOS7中使用Docker安装SVN以及配置账号权限_.net_12