Linux中centos的docker搭建SVN服务的步骤
1、使用Docker搜索svn
docker search svn //在docker上搜索svn镜像
2、拉取svn镜像 这里使用的svn镜像为garethflowers/svn-server
docker pull garethflowers/svn-server //拉取garethflowers/svn-server镜像
注://执行上述命令后再执行docker images 查看是否拉取成功
- 使用一下命令启动容器
docker run --restart always --name svn -d -v /usr/svn/repo:/var/opt/svn -p 3690:3690 garethflowers/svn-server
注:
- /usr/svn/repo为宿主机的文件目录,/var/opt/svn为容器内的文件目录
- --restart always命令可以实现容器在宿主机开机时自启动
- -p 3690:3690表示将宿主机的3690端口映射到容器的3690端口,此端口为svn服务的默认端口,可以根据需要自行修改
- 创建仓库和账户
A.进入容器进行配置
docker exec -it svn /bin/sh //进入容器
svnadmin create svn //创建名称为svn的资源仓库
B.资源仓库配置,使用vi/vim svnserve.conf进入填入如下内容
[general]
anon-access = none # 匿名用户不可读写,也可设置为只读 read
auth-access = write # 授权用户可写
password-db = passwd # 密码文件路径,相对于当前目录
authz-db = authz # 访问控制文件
realm = /var/opt/svn/svn # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn
- 配置账号与密码,使用vi\vim passwd进入填入如下内容 ,其格式为“账号 = 密码”
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
D.使用vi\vim authz进入填入如下内容
[groups]
owner = admin
[/] # / 表示所有仓库
admin = rw # 用户 admin 在所有仓库拥有读写权限
[svn:/] # 表示以下用户在仓库 svn 的所有目录有相应权限
@owner = rw # 表示 owner 组下的用户拥有读写权限
- 保存,然后退出容器
exit
- 重启容器
docker restart svn
7.电脑上安装客户端,使用 svn://服务器ip:3690/svn ,来访问获取代码