【转】docker安装svn (偷师学艺)

【来自】:https://blog.csdn.net/xu12387/article/details/93050196

构建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 demo

创建成功后生成demo目录,进入该目录下的conf配置文件夹。有以下几个文件authz, passwd, svnserve.conf

     authz 是权限控制,可以设置哪些用户可以访问哪些目录,

      passwd是设置用户和密码的

      svnserve是设置svn相关的操作

1. 配置passwd文件

vi passwd

[users]
# harry = harryssecret
# sally = sallyssecret
nfz = 123456

2. 配置authz

vi authz 这里有两种配置方式
第一种,以用户组的方式配置,一个组下可以有多个用户,例如:

[groups]
admin = nfz,lisi
 
[/] 
@amdin = rw
 
[repo:/]

这里的意思就是admin这个组下存在zhangsan,lisi两个账户,[/]表示根目录,@admin表示给组设置根所有仓库的rw(读写)权限,给组设置权限必须用@符号 ,[/] 代表所有仓库, [repo:/] 代表用户在repo 仓库的所有目录有相应权限,这里根据自己需求设计。

第二种,直接给用户设置权限

[/]
nfz= rw

3. 编辑svnserve,找到 [general] 节点,加入以下内容

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/opt/demo/svn

退出容器,重启容器

exit
docker restart svn-server

发布了15 篇原创文章 · 获赞 12 · 访问量 147

猜你喜欢

转载自blog.csdn.net/qq_43263647/article/details/105257508
今日推荐