linux docker安装svn,Docker搭建SVN服务器

该博客介绍了如何使用Docker搭建SVN服务器,包括在宿主机创建数据文件夹并赋予权限,拉取镜像,运行容器,配置SVN资源库,设置权限文件,以及解决容器内文件权限问题。此外,还提到了通过容器持久化数据到宿主机,确保容器重启后数据不丢失的方法。
摘要由CSDN通过智能技术生成

Docker搭建SVN服务器

宿主机数据文件夹准备

新建文件夹/opt/data/svn/repo,并给docker用户赋读写执行等权限

[docker@promote ~]$ mkdir /opt/data/svn/repo

安装svn服务

搜索svn镜像

[docker@promote ~]$ docker search svn

6a7eac04692c

这里我们取docker.io/garethflowers/svn-server这个镜像

[docker@promote ~]$ docker pull docker.io/garethflowers/svn-server

6a7eac04692c

查看镜像

[docker@promote ~]$ docker images

6a7eac04692c

运行容器

docker run -v /opt/data/svn/repo:/var/opt/svn --name svn-server -p 3690:3690 -e SVN_REPONAME=repository -d svn_configed

进入到容器中进行配置

[docker@promote ~]$ docker exec -it 64c26480276d /bin/sh

6a7eac04692c

创建资源库

/var/opt/svn # svnadmin create /var/opt/svn/repository

资源库配置

/var/opt/svn/repository/conf # vi svnserve.conf

6a7eac04692c

6a7eac04692c

6a7eac04692c

编辑密码文件

/var/opt/svn/repository/conf # vi passwd

新增

6a7eac04692c

修改鉴权文件

6a7eac04692c

退出容器

exit

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

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

重启容器

[docker@promote repo]$ docker restart svn-server

6a7eac04692c

在客户端新增文件

验证正常

将容器删除后再重启,测试文件是否存在,验证重启过后,文件正常

中间遇见的问题

容器内无写权限到宿主机映射过来的文件问题

问题的原因是因为:SeLinux做了安全限制

解决方案如下

1.在启动容器的时候加上如下参数 --privileged=true

2.临时关闭SeLinux  sudo setinforce 0

3.添加selinux规则,改变要挂载的目录的安全性文本 (chcon)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值