您当前的位置: 首页 >  docker

寒冰屋

暂无认证

  • 0浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

win10中使用Docker安装svn的简单教程

寒冰屋 发布时间:2019-12-03 20:17:06 ,浏览量:0

目录

简介

构建svn容器

进入容器

创建svn库

修改配置文件

(1)配置passwd文件

目录

简介

构建svn容器

进入容器

创建svn库

修改配置文件

(1)配置passwd文件

(2)配置authz文件

(3)配置svnserve文件

另一种svn访问形式

创建命令

进入容器

创建仓库

添加用户

效果

总结

参考

 

(2)配置authz文件

(3)配置svnserve文件

总结

Docker部分的说明可参考sql server安装的文章。

简介

本文开始前,默认您已经安装好并配置完成了docker。可以通过在docker hub的官网上搜索svn或者通过docker search svn命令搜索现有的svn server版本。这里,我选择的是garethflowers/svn-server。我个人建议通过网站搜索的方式,因为可以查看具体的网页,里面有拉取,运行生成容器及其他相关注意的事项及步骤可参考。

当从网站上拉取下来svn的镜像后,可以通过docker images命令来查看是否成功。

现在,让我们正式开始介绍svn的安装配置同情况。

 

构建svn容器
docker run --privileged=true --restart always --name svn-server -d -v D:/svn-responsity:/var/opt/svn -p 3690:3690 garethflowers/svn-server

命令解析:

--privileged=true     授予容器管理员权限,预防创建svn创库时提示权限不足

--restart always      设置容器随宿主机开机自启

--name svn-server      设置容器name为svn-server,可自定义

-d               指定这个容器后台运行

-v D:/svn-responsity:/var/opt/svn    挂载宿主目录到容器目录(D盘为我电脑中docker设置的共享盘,如果此路径不在共享盘,则容器创建失败)

 

 

进入容器
docker exec -it svn-server /bin/sh
创建svn库
svnadmin create repo

 

修改配置文件

创建成功后生成repo目录,进入该目录下的conf配置文件夹。有以下几个文件authz, passwd, svnserve.conf

authz 是权限控制,可以设置哪些用户可以访问哪些目录

passwd是设置用户和密码的

svnserve是设置svn相关的操作

 

网上介绍的大多修复方式,都是通过vi命令手动操作。当然这种linux的操作方式并不是说不好,但是对于我这种使用习惯了windows系统的人来说还是很难受的。所以关于vi的配置介绍我就不多说了,我来说说更方便的windows式操作方法。

 

(1)配置passwd文件

在我的电脑中打开“D:\svn-responsity\repo\conf”文件夹,同样可以看到上面截图中的配置文件。打开passwd文件,完成如下配置。

此文件主要完成用户和其密码的设置。

 

(2)配置authz文件

第一种,以用户组的方式配置,一个组下可以有多个用户(都要在[groups]节点下),例如

 

这里的意思就是admin这个组下存在admin,lisi两个账户;[/]表示根目录,@admin表示给组设置根目录下所有仓库的rw(读写)权限,给组设置权限必须用@符号,[/] 代表所有仓库;[repo:/]代表用户在repo仓库的所有目录有相应权限,这里根据自己需求设计!(需要注意的是,建议组名称不能和用户名相同)

 

第二种,直接给用户设置权限

[/]
lisi = rw

两种方式都是可以一起使用的,注意分配均可。 演示中使用第二种方式授权。

 

(3)配置svnserve文件

 

找到 [general] 节点,加入以下内容

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/opt/svn /repo

以上内容配置完成后,在powershell中通过exit命令推出svn容器,然后重启容器。

 

用客户端连接测试 svn://ip/仓库,注意开启防火墙端口3690(不知道的自行问度娘)

https://img-blog.csdnimg.cn/20190620164155211.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1MTIzODc=,size_16,color_FFFFFF,t_70

 

另一种svn访问形式

以上介绍的,只能通过svn开头来访问,即只能本地访问。如果要通过http访问,即可以让其他电脑访问,可考虑使用krisdavison/svn-server镜像创建svn服务器。

此镜像的数据卷挂在地址是/home/svn 。上面介绍的配置都可不管(因为通过http访问,配置了也无用)。只需安装提供的配置说明添加用户即可。

 

创建命令
docker run --privileged=true --restart=always --name svn-server -d -v D:/svn-responsity:/home/svn -p 3690:3690 –p 8880:80 krisdavison/svn-server /startup.sh

 

进入容器
docker exec -it svn-server bash

ps:可以参考下面给的链接内容。

创建仓库

进入/home/svn目录后创建即可

svnadmin create repo
添加用户
htpasswd /etc/subversion/passwd test

回车后提示输入密码。(删除用户在htpasswd命令后面跟-D参数)

完成所有操作后退出容器即可(exit命令退出)。

效果

在浏览器中输入http://localhost:8880/svn访问。如下

首次打开会要求输入用户名密码。

 

总结

本文介绍了如何在docker中创建svn服务器,通过docker来管理svn,从而实现代码的管理。而对于如何创建trunk,branch,tags等结构的仓库,svnadmin命令中好像没有看到(也许是了解不够多),但是可以尝试收到在创建的仓库中创建这些文件夹。

如果是不想安装svn的服务器,并且想尝试使用docker进行代码的局域网管理。或者就是自己用来管理自己的代码。虽然没有具体的权限管理,但是我觉得第二种svn的安装方式就够用了。

 

参考
  • https://hub.docker.com/r/krisdavison/svn-server
  • https://help.ubuntu.com/community/Subversion#Create_SVN_Repository

ps:最后修改于2019年12月21日下午~

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0454s