docker-compose安装SVN

189 阅读1分钟

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

```bash
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

搞定

本文由博客一文多发平台 OpenWrite 发布!