最近一直在搭建各种环境,遇到了各种坑,在这里记录一下搭建过程原文链接
前提:
服务器上已经安装好了docker服务
具体步骤:
1.找到docker中svn镜像
docker search svn //在docker上搜索svn镜像
2.拉去svn镜像 这里使用的svn镜像为garethflowers/svn-server
docker pull garethflowers/svn-server //拉取garethflowers/svn-server镜像
//执行上述命令后再执行docker images 查看是否拉取成功
3.使用一下命令启动容器
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服务的默认端口,可以根据需要自行修改
4.创建仓库和账户
进入容器进行配置
docker exec -it svn /bin/sh //进入容器
svnadmin create svn //创建名称为svn的资源仓库
- 资源仓库配置,修改svnserve.conf
[general]
anon-access = none # 匿名用户不可读写,也可设置为只读 read
auth-access = write # 授权用户可写
password-db = passwd # 密码文件路径,相对于当前目录
authz-db = authz # 访问控制文件
realm = /var/opt/svn/svn # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn
- 配置账号与密码,修改 passwd文件,格式为“账号 = 密码”
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
- 修改 authz文件
[groups]
owner = admin
[/] # / 表示所有仓库
admin = rw # 用户 admin 在所有仓库拥有读写权限
[svn:/] # 表示以下用户在仓库 svn 的所有目录有相应权限
@owner = rw # 表示 owner 组下的用户拥有读写权限