docker安装svn

借鉴博客:https://www.cnblogs.com/daryl-blog/p/11369577.html

1、使用docker命令下载svn镜像

//搜索svn镜像
docker search svn


//下载第一个镜像:docker.io/garethflowers/svn-server
docker pull docker.io/garethflowers/svn-server

操作图如下:

2、运行svn容器,并配置宿主机映射

  2.1、先在/usr/local目录下建一个dev/svn/repo目录,把docker中的svn容器仓库目录映射在宿主机上/usr/local/dev/svn/repo

    目录我已经创建好了,如下:

  2.2、使用docker命令映射目录,并启动svn容器

//docker运行svn命令
docker run --restart always --name svn -d -v /usr/local/dev/svn/repo:/var/opt/svn -p 3690:3690 garethflowers/svn-server



简析
  • /root/dockers/svn为宿主机的文件目录,/var/opt/svn为容器内的文件目录
  • --restart always命令可以实现容器在宿主机开机时自启动
  • -p 3690:3690表示将宿主机的3690端口映射到容器的3690端口,此端口为svn服务的默认端口,可以根据需要自行修改

成功如下:

 

3、进入svn容器,创建账户和配置

//进入svn容器
docker exec -it svn /bin/sh

  3.2创建名称为svn的资源仓库

svnadmin create svn

//上行代码创建了一个svn仓库目录,进去会有几个文件:README.txt conf db format hooks locks
成功如下图

 

修改svn目录中的文件配置,命令:vi svnserve.conf

文件配置内容如下:

anon-access = none             # 匿名用户不可读写,也可设置为只读 read
auth-access = write            # 授权用户可写
password-db = passwd           # 密码文件路径,相对于当前目录
authz-db = authz               # 访问控制文件
realm = /var/opt/svn/svn       # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn

(我这里注释中文显示不出来,应该是docker配置编码问题,我懒得配置了,就没写上中文注释)

操作图如下:

修改passwd、和authz文件,没有这两文件直接创建并修改:vi passwd  和    vi  authz

passwd文件内容如下:
[users] # harry
= harryssecret # sally = sallyssecret admin = 123456 authz文件内容如下:
[groups] owner
= admin [/] # / 表示所有仓库 admin = rw # 用户 admin 在所有仓库拥有读写权限 [svn:/] # 表示以下用户在仓库 svn 的所有目录有相应权限 @owner = rw # 表示 owner 组下的用户拥有读写权限

操作图内容如下:

4、将容器内生成的资源库repository拷贝到宿主机的对应目录下,因为容器一旦重启,这些信息就会丢失,所以应该持久化到宿主机的文件系统中。

#借鉴命令:docker cp 容器ID:/var/opt/svn/repository/ /opt/data/svn/repo

//本人真实路径命令拷贝

docker cp 4245e47be88e:/var/opt/svn/svn/ /usr/local/dev/svn/repo




//重启svn容器 或命令:
docker restart 容器ID

docker restart svn

4、退出容器:exit,然后将容器内生成的资源库repository拷贝到宿主机的对应目录下,因为容器一旦重启,这些信息就会丢失,所以应该持久化到宿主机的文件系统中

docker cp 容器ID:/var/opt/svn/repository/ /opt/data/svn/repo


//再重启svn容器
docker restart svn 或 docker restart 容器ID

5、使用命令,看成功否:

svn co svn://127.0.0.1:3690/svn

 

。。。

原文地址:https://www.cnblogs.com/spll/p/12974710.html