热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

5使用dockersvn镜像

1找现有的镜像dockerhub上搜索到一个,其在github上公布了镜像构建的dockerfile,并且支持http和svn两种协议,就这个吧。https:github.come
1 找现有的镜像

dockerhub上搜索到一个,其在github上公布了镜像构建的dockerfile,并且支持http和svn两种协议,就这个吧。
https://github.com/elleFlorio/svn-docker

2 拉取镜像

docker pull garethflowers/svn-server:1.0
3 启动容器

这里修改一下服务端口

docker run --name svns \
-v /datacv/svnvol/svn:/home/svn \
-h svns \
-p 3380:80 \
-p 3360:3960 \
-m 200m \
-d elleflorio/svn-server:latest
4 进入容器

docker exec -it svns sh
5 建立仓库

mkdir -p /home/svn/rep
svnadmin create --pre-1.6-compatible /home/svn/rep

为了与原有客户端兼容(原来VisualSVN为1.7版本),需添加–pre-1.6-xx参数或者–pre-1.7-xx参数

chmod 777 /home/svn/rep/db

在容器中需要修改一下这个目录的权限,因为默认是root创建的仓库,在window端没有权限访问,否则会报错:

can’t open file db/txn-current-lock:permission

权限控制

镜像默认没有对权限进行控制,修改一下配置文件

vi /etc/apache2/conf.d/dav_svn.conf

DAV svn
SVNParentPath /home/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/svn/passwd.conf
AuthzSVNAccessFile /home/svn/auth.conf
Require valid-user

可以加到镜像的启动脚本里面,否则容器删除后需要重新配置。
根据此处的路径,配置访问权限

cat auth.conf
[rep:/]
peter=rw
jl=rw
v=r

用户密码见下面步骤

6 建立用户

htpasswd -b /home/svn/passwd.conf peter **
htpasswd -b /home/svn/passwd.conf jl **
htpasswd -b /home/svn/passwd.conf view **
7 网页访问

http://xxxx:3380/svn/rep/
会要求输入用户名和密码

如果访问失败,检查容器80端口没有起来。则手动创建目录

/etc # mkdir -p /run/apache2/

看Dockerfile源代码,是有这个目录创建的步骤的,但是在我centos7的docker中,该目录没有创建成功。很奇葩

8 客户端访问

下载一个与OS匹配的64位客户端。


推荐阅读
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • 使用Docker安装和运行Nexus
    本文介绍了使用Docker安装和运行Nexus的方法,包括docker-compose.yml配置和启动时可能出现的权限问题解决方法。同时提供了登录控制台验证安装的地址和登录信息。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 容器管理与容器监控influxDB
    容器管理与容器监控-influxDB什么是influxDBinfluxDB安装(1)下载镜像(2)创建容器(3 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 线程漫谈——线程基础
    本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。进程与线程理解线程是至关重要的,每个进程至少有一个线程,进程是线程的容器,线程才是真正的执行体,线程必 ... [详细]
  • DockerDataCenter系列(四)-离线安装UCP和DTR,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
何霞2502856453_910
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有