SVN安装 docker-compose方式
1、编辑 docker-compose-svn.yml
文件
version: '3.8'
services:
svn-server:
image: elleflorio/svn-server:latest
container_name: svn-server
restart: always
privileged: true # 解决容器内权限问题
ports:
- "31081:3690" # SVN 默认协议端口
- "31080:80" # 管理界面端口(Web UI):cite[2]:cite[5]
volumes:
- /mnt/d/doc/svn/repo:/home/svn
- /mnt/d/doc/svn/passwd:/etc/subversion/passwd
environment:
TZ: Asia/Shanghai # 设置时区
networks:
- svn-network
networks:
svn-network:
driver: bridge # 使用桥接网络
2、初始化文件
初始文件 `passwd` : touch passwd
touch passwd # 初始文件
mkdir repo # svn仓库目录
chmod 777 passwd
chmod 777 repo
## 3、进入设置
| Subversion 授权文件 | /etc/subversion/subversion-access-control |
| -------------------------------- | ----------------------------------------- |
| 用户身份验证文件 | /etc/subversion/passwd |
| 代码仓库的父目录 | /home/svn |
| svn.exe' 或 'svn'可执行文件 | /usr/bin/svn |
| svnadmin.exe' 或 'svnadmin' 可执行文件 | /usr/bin/svnadmin |
保存
## 4、设置管理员账号密码
docker exec -t svn-server htpasswd -cb /etc/subversion/passwd admin admin@2025
## 5、添加仓库
在 `代码仓库` 中添加仓库 test 。
## 6、授权
可以从单独的仓库中授权,/docker/svn/repo/test/conf/ 目录下
- 新增用户
vi passwd
[users]
用户
test = 123456
- 授权
vi auth
[groups]
用户组
gp1 = test
用户组所对应的目录
[/]
库目录权限
@gp1 = rw
用户组权限
*=r
- 配置文件
vi
[general]
force-username-case = none
匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
使授权用户有写权限
auth-access = write
密码数据库的路径
password-db = passwd
访问控制文件
authz-db = authz
认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字
realm = /docker/svn/repo/test
## 7、访问验证
svn://ip:31081/test
搞定
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。