美文网首页
Docker搭建SVN服务器

Docker搭建SVN服务器

作者: 无望沉默 | 来源:发表于2018-08-02 21:09 被阅读0次

    Docker搭建SVN服务器

    宿主机数据文件夹准备

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

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

    安装svn服务

    搜索svn镜像

    [docker@promote ~]$ docker search svn

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

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

    查看镜像

    [docker@promote ~]$ docker images

    运行容器

    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

    创建资源库

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

    资源库配置

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

    编辑密码文件

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

    新增

    修改鉴权文件

    退出容器

    exit

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

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

    重启容器

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

    在客户端新增文件

    验证正常

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

    中间遇见的问题

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

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

    解决方案如下

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

    2. 临时关闭SeLinux  sudo setinforce 0

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

    相关文章

      网友评论

          本文标题:Docker搭建SVN服务器

          本文链接:https://www.haomeiwen.com/subject/xwbdvftx.html