docker安装svn
构建svn容器docker run --privileged=true --restart always --name svn-server -d -v /home/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server命令解析:--privileged=true授予容器管理员...
构建svn容器
docker run --privileged=true --restart always --name svn-server -d -v /home/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server
命令解析:
--privileged=true 授予容器管理员权限,预防创建svn创库时提示权限不足
--restart always 设置容器随宿主机开机自启
--name svn-server 设置容器name为svn-server,可自定义
-d 指定这个容器后台运行
-v /home/svn:/var/opt/svn 挂载宿主目录到容器目录
进入容器
docker exec -it svn-server /bin/sh
创建svn库
svnadmin create repo
创建成功后生成repo目录,进入该目录下的conf配置文件夹。有以下几个文件authz, passwd, svnserve.conf
authz 是权限控制,可以设置哪些用户可以访问哪些目录,
passwd是设置用户和密码的
svnserve是设置svn相关的操作
(1)配置passwd文件
vi passwd
在[users]这个节点下我们增加了账户 lisi且密码为123456,注意#后面内容是注释掉的,不用管。且注意等号两边有要有空格
(2)配置authz
vi authz
这里有两种配置方式
第一种,以用户组的方式配置,一个组下可以有多个用户,例如
[groups]
admin = zhangsan,lisi
[/]
@amdin = rw
[repo:/]
这里的意思就是admin这个组下存在zhangsan,lisi两个账户,[/]表示根目录,@admin表示给组设置根所有仓库的rw(读写)权限,给 组设置权限必须用@符号 ,[/] 代表所有仓库, [repo:/] 代表用户在repo 仓库的所有目录有相应权限,这里根据自己需求设计!
第二种,直接给用户设置权限
[/]
lisi = rw
两种方式都是可以一起使用的,注意分配均可。 这里做演示,直接使用第二种
(3)编辑svnserve,找到 [general] 节点,加入以下内容
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/opt/repo/svn
退出容器,重启容器
用客户端连接测试 svn://ip/仓库,注意开启防火墙端口3690
注:如果在创建创库时提示权限不够,请参考文章:https://blog.csdn.net/xu12387/article/details/93040801
更多推荐
所有评论(0)