下载svn-server官方镜像

docker pull garethflowers/svn-server

运行svn-server容器

docker run  -v /home/svn:/var/opt/svn  --name svn-server  -p 3690:3690  --privileged=true  -e SVN_REPONAME=repository  -d docker.io/garethflowers/svn-server
  • -v /home/svn:/var/opt/svn:将容器的/var/opt/svn文件夹下的内容映射到宿主机的/home/svn文件夹下面

  • --name svn-server:容器取名为svn-server

  • -p 3690:3690:将容器的3690端口映射到宿主机器的3690

  • --privileged=true:将容器以特权方式启动

  • -e SVN_REPONAME=repository:环境变量,这里指定svn仓库名称为repository

创建一个svn仓库

  • 进入容器内部
docker exec -it svn-server /bin/sh
  • 创建一个名为test-repo的仓库
svnadmin create /var/opt/svn/test-repo
  • 退出容器,回到宿主机
exit
  • 修改仓库的配置信息

    进入/home/svn这个目录,可以看到有一个名为test-repo的文件夹
cd /home/svn

进入test-repo/conf文件夹内部,可看到如下文件夹:

svnserve.conf:用来配置仓库

passwd:管理用户

authz:配置用户组;配置仓库访问权限

cd test-repo/
cd conf/

用vi打开svnserve.conf,修改仓库配置

vi  svnserve.conf

去掉以下三处的注释,注意行头不要留空格:

修改完毕之后保存并退出vi:

:wq

用vi打开passwd,添加一个名为test的用户,注意行头不要留空格,等号(=)前后建议加空格,修改完之后保存并退出vi:

vi passwd

用vi打开authz,添加一个名为test-group的用户组,并为该用户组设置仓库的读写权限,修改完毕保存并退出vi:

vi authz

[groups]
#harry_and_sally = harry,sally
#harry_sally_and_joe = harry,sally,&joe #新建一个名为test-group的用户组,并把名为test的用户加入到用户组。若多个用户需要加入用户组,用英文逗号分隔
test-group = test #设置test-group用户组对仓库test-repo的读写权限
[test-repo:/]
@test-group = rw

使用SVNClient工具检出test-repo

本文使用SnailSvn作为SVNClient工具

新建temp文件夹,然后点击svn检出

版本库地址:svn://宿主机ip/test-repo

点击左下角的「小锁」,配置用户名和密码

用户名:test

密码:test

成功连接到了仓库,并在temp文件夹下面创建了一个隐藏的.svn文件夹:

docker异常退出了怎么办

docker异常退出、宿主机断电了或宿主机操作系统损坏了怎么办?

因为svn-server中的文件已经映射到了宿主机器,所以只要文件还在,修复好docker运行环境之后,重新执行docker run命令即可正常访问。

引用

Docker搭建SvnServer的更多相关文章

  1. 使用Docker搭建svn服务器教程

    svn简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subv ...

  2. Docker搭建Svn服务器

    一.下载镜像 # 搜索镜像 docker search svn # 下载镜像 docker pull garethflowers/svn-server 二.启动镜像 # 编辑配置文件 vim dock ...

  3. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  4. 使用 Docker 搭建 Java Web 运行环境

    黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...

  5. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  6. 转:使用 Docker 搭建 Java Web 运行环境

    原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...

  7. 基于阿里云server搭建SVNserver

    基于阿里云server搭建SVNserver 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8577 ...

  8. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  9. docker搭建zabbix

    本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...

  10. Docker 搭建 etcd 集群

    阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...

随机推荐

  1. KubeEdge边缘计算在顺丰科技工业物联网中的实践

    摘要:顺丰物联网平台负责人胡典钢为大家带来了 " 边缘计算在工业物联网中的应用实践与思考 " ,阐述了工业物联网的发展背景.整体架构设计以及边缘计算在此过程中承担的重要角色,并梳理 ...

  2. 全文手敲代码,教你用Java实现扫雷小游戏

    摘要:本程序共封装了五个类,分别是主类GameWin类,绘制底层地图和绘制顶层地图的类MapBottom类和MapTop类,绘制底层数字的类BottomNum类,以及初始化地雷的BottomRay类和 ...

  3. 如何对APP进行安全加固

    ​ 如何对APP进行安全加固 引言 如今,移动应用市场蓬勃发展,APP数量呈现爆炸性增长.随着5G技术的广泛应用,APP的增长趋势持续增强.然而,由于APP的泛滥,网络攻击者的目标也在逐渐转移,数亿的 ...

  4. 使用root ssh登录ubuntu22.4配置

    前言 在安装k8s集群时,需要使用root用户ssh登录远程服务器进行安装操作,但是root登录是默认关闭的,因此本篇讲解如何开启配置, 当前测试版本 ubuntu22.4 安装部署 使用管理权限打开 ...

  5. 【scikit-learn基础】--『监督学习』之 谱聚类

    谱聚类算法基于图论,它的起源可以追溯到早期的图分割文献.不过,直至近年来,受益于计算机计算能力的提升,谱聚类算法才得到了广泛的研究和关注. 谱聚类被广泛应用于图像分割.社交网络分析.推荐系统.文本聚类 ...

  6. 0x53 动态规划-区间DP

    A: 石子合并 所求问题:1到n这些石子合并最少需要多少代价 由于石子合并的顺序可以任意,我们将石子分为两个部分 子问题:1到k这堆石子合并,k+1到n这堆石子合并,再把两堆石子合并,需要多少代价\( ...

  7. Android 3分钟带你入门开发测试

    作者:Zhu Yifei 作为一名合格的开发人员,基本的开发测试能力必不可少,开发测试分单元测试和UI测试,通过开发测试可以减少开发人员自测时间,提升开发质量.本篇文章可以帮助初级开发人员快速了解开发 ...

  8. shardingsphere 5.1.1 分库分表

    1. mysql配置: application-dubboService = spring-csc-campaign-agent-context.xml kafka.topics.redisAcces ...

  9. spring管理实务有几种方式

    一:事务认识 大家所了解的事务Transaction,它是一些列严密操作动作,要么都操作完成,要么都回滚撤销.Spring事务管理基于底层数据库本身的事务处理机制.数据库事务的基础,是掌握Spring ...

  10. CMake学习,我们怎么从零开始狂写大型项目

    CMake 说明 cmake的定义是什么 ?-----高级编译配置工具 当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候神器就出现了-----C ...