目录

简介

构建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(不知道的自行问度娘)

另一种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日下午~

win10中使用Docker安装svn的简单教程相关推荐

  1. CentOS7中使用Docker安装SVN以及配置账号权限

    场景 CentOS7中Docker的安装与配置: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701 首先按照上面在 ...

  2. win10中通过docker安装sqlserver服务器的操作说明

    目录 简介 Docker安装 在Docker中安装sql server 总结 简介 在了解了Docker之后,有段时间一直想用Docker来完成数据库服务的安装,这样只要打开Docker服务后,在电脑 ...

  3. macos docker 安装mysql,mac 中docker安装mysql的图文教程

    今天在docker中安装了mysql ,是自己打的docker包. 首先新建dockerfile 内容如下: from mysql:latest 新建dockerfile后执行build命令: 构建镜 ...

  4. docker安装rabbitmq及简单管理

    docker安装rabbitmq及简单管理 rabbitmq镜像下载与安装 1.docker search rabbitmq 命令说明:从docker仓库搜索rabbitmq的镜像,类似maven的中 ...

  5. 【centos7中使用docker安装KLEE】

    1安装docker 1.1 准备 建立repository yum install -y yum-utils 由于我的环境中安装多个版本的python,使用"python --verion& ...

  6. 在阿里云上安装MySQL的简单教程

    在阿里云上安装MySQL的简单教程 1,安装docker docker? 因为系统差异和软件之间的证书版权问题,要直接在CentOS或ubuntu系统上安装MySQL或其他软件会非常繁琐,所以我们有了 ...

  7. Win10下LoadRunner12 下载安装汉化图文教程(含LoadRunner安装包)

    Win10下LoadRunner12 下载安装汉化图文教程 一.下载安装 "windows无法安装.net framwork的问题" 1.报错原因 2.解决方案 二.汉化 Win1 ...

  8. svn安装教程 mysql_CentOS6.4 下安装SVN的详细教程(超详细)

    1.检查系统是否已经安装如果安装就卸载 rpm -qa subversion yum remove subversion 2.安装 yum install subversion 3.建立SVN库 mk ...

  9. Win10系统提示未安装音频设备的解决教程

    很多用户在安装Win10完系统的时候,使用老是提示"未安装任何音频输出设备",Win10提示未安装音频设备怎么办?这个问题小编的朋友之前也有遇到过,因为这个问题导致无法去看电影和其 ...

最新文章

  1. sql server Json表达式解析函数
  2. ajax中res和req,javascript – 来自AJAX调用的res.redirect
  3. boost库 bind/function的使用
  4. You Only Watch Once:实时人体动作定位网络
  5. 《Python学习笔记》——南溪的python编程笔记
  6. 计算机毕业设计中用Java+Html+MySQL 实现注册、登录(servlet框架)-(二
  7. HDF5数据模型介绍及h5py
  8. 网页设计\网页制作常用软件大全
  9. javascript创建表格
  10. x86 BIOS 中断 INT 10h
  11. 360极速浏览器查看保存密码的操作步骤
  12. ream完美转换XML、JSON 转载
  13. 【win7】错误2203的解决方法
  14. excel下拉菜单创建
  15. 【c语言】求一个3行4列矩阵的外框的元素值之和
  16. ps如何(怎么)调整色阶的原理和方法
  17. POJ - 3179 Corral the Cows(二分,离散化,前缀和)
  18. 论文解读《Crowd Density Estimation Using Fusion of Multi-Layer Features》T-ITS2020
  19. yolov3(ultralytics cfg版-v5-v8 / yml版v9) 训练、检测、可视化
  20. 正运动EtherCAT总线控制器在 并联机械手上的应用

热门文章

  1. enityframework 已连接的当前状态为打开。_关于性能优化 从tcp建立连接amp;断开的视角...
  2. liunx创建php环境变量,linux添加环境变量的方法总结
  3. arduino蜂鸣器音乐代码青花瓷_教你用 Arduino 制造简易金属探测器
  4. echo输出换行_Bash shell教程[5] echo命令
  5. 引导页设计没有灵感,看这里!
  6. UI设计师如何正确打开暗黑模式|实用素材拿走
  7. wits数据格式_WITS标准
  8. Go语言学习Day02
  9. ELF文件的签名与验证
  10. 使用Red Hat Enterprise Linux的实时内核