拉取svn-server的docker镜像

docker pull docker.io/garethflowers/svn-server

查看是否拉取成功:

dafengge0913@ubuntu1804:~/svn-server$ docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
garethflowers/svn-server   latest              a38966c9817a        4 months ago        13.7MB

启动svn-server

docker run -d --name svn-server -v $PWD/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server

将svn目录,映射到了当前目录中

创建仓库

docker exec -it svn-server svnadmin create repo

创建了仓库repo

修改配置

配置文件位于svn/repo/conf目录中
1、在svnserve.conf中,[general]标签下修改4项配置:

anon-access = none      # 匿名用户不能访问
auth-access = write     # 授权用户可读可写 ("write" allows complete read/write access to the repository)
password-db = passwd    # 密码文件位置
authz-db = authz        # 授权文件位置

2、在passwd中,[users]标签下创建用户:

dfg = 123456

3、编辑授权文件authz:

[repo:/]
dfg = rw

对于仓库repo的根目录,给用户dfg赋予读写权限

测试

1、检出仓库

svn checkout svn://localhost:3690/repo

2、提交文件

echo abc > test.txt
svn add test.txt
svn commit

3、删除本地文件

rm -f test.txt

4、重启svn-server

docker restart svn-server

5、查看仓库中的文件

svn list test.txt

6、还原文件

svn revert test.txt

svn-server 运行正常