docker安装svn
一、 拉取镜像(不同的镜像,安装目录有些许不同)
docker pull elleflorio/svn-server
二、 创建工作目
mkdir -p /data/svn #创建svn根目录,-p 递归创建目录,不存在父目录时会自动创建
mkdir -p /data/svn/apache2 #创建apache web文件夹
三、 启动镜像
docker run -v /data/svn:/home/svn -v /data/svn/subversion:/etc/subversion/ -v /data/svn/apache2:/run/apache2 --name svn_server -p 9090:80 -p 3690:3960 --privileged=true -e SVN_REPONAME=repos -d elleflorio/svn-server
配置说明:
-v /data/svn:/home/svn : 目录文件挂载,/home/svn是SVN主目录
-v /data/svn/subversion:/etc/subversion/: 目录挂载,/etc/subversion是配置目录
-v /data/svn/apache2:/run/apache2:目录挂载,/run/apache2存放web程序的PID
-p 9090:80: 80端口是web端口,这个端口支持http访问
-p 3690:3960 : 3690端口是svn的协议端口
-e SVN_REPONAME=repos : 定义仓库名称,环境变量配置
-d 后台启动
四、 进入镜像修改配置
- 进入容器内部(可以使用容器名称或者容器id)
docker exec -it svn_server /bin/sh
- 修改web配置 添加ServerName ip:9090(该端口要和上面的启动端口一致)
vi /etc/apache2/httpd.conf
- 修改web配置,修改 AuthzSVNAccessFile /home/svn/repos/conf/authz repos是仓库名称
vi /etc/apache2/conf.d/dav_svn.conf
-
创建仓库
svnadmin create /home/svn/repos
-
退出容器
exit
五、主机配置svn
-
创建web账号(注意,这边要创建了才能远程访问)
docker exec -t svn_server htpasswd -b -c /etc/subversion/passwd hkf 123456
-
进入主机配置目录
cd /data/svn/repos/conf
-
修改权限
vi svnserve.conf #打开权限
- 配置用户密码(hkf = 123456: hkf是账号,123456是密码)
vi passwd
- 修改权限(分组授权和单独授权)
```
vi authz
```
- 修改文件夹权限
chmod -R a+rwx /home/svn/repos/*
六、访问svn
http://ip:9090/svn/repos/