使用 docker-compose 挂载数据卷创建 SVN 服务器
程序员文章站
2022-05-30 20:49:29
...
docker-compose配置:
version: '3.1'
services:
svn:
image: garethflowers/svn-server
container_name: svn-server
restart: always
ports:
- 3690:3690
volumes:
- ./data/svn:/var/opt/svn
可以看到,我这里把数据卷放在了docker-compose.yml同目录下便于管理(建议数据卷对应目录提前创建并开放权限,以免系统自动创建时因为权限问题而造成失败),如图所示:
启动容器后进入容器,命令:
docker exec -it svn-server /bin/sh
如图:
创建初始化仓库:
svnadmin create qz-service
进入新创建的目录查看:
conf目录内是配置文件,是初始化需要变动的地方,conf目录内:
首先修改svnserve.conf文件,把如下的配置项去除“#”并去除空格使其生效:
anon-access = read #匿名用户不可读写
auth-access = write #授权用户可以写
password-db = passwd #使用的账户密码对应文件(路径相对于当前文件,如果没有对应的文件可以创建)
authz-db = authz #使用的权限对应文件(路径相对于当前文件,如果没有对应的文件可以创建)
realm = /var/opt/svn/qz-service #认证命名空间,svn账户凭证缓存时的关键字
然后修改帐户密码文件-passwd,增加账户密码:
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
# 账户名 = 密码 可以配置多项
admin = gbx123
admin1 = gbx1123
修改权限文件authz,增加相应的用户组和相应的权限:
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
#创建用户组,并给用户组添加成员,多个成员用','隔开
[groups]
owner = admin
guest = admin1
#赋予owner组的成员所有目录的读写权限
[/]
@owner = rw
#赋予guest组的成员qz-service目录下的读写权限
[qz-service:/]
@guest = rw
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
保存后退出文件,exit退出容器,查看目录,发现相应的数据卷对应目录内已经生成了相关的文件,down掉容器,然后重启后输入:
svn://ip/qz-service
进入svn服务器。
上一篇: 最骚的开瓶器没有之一