zoukankan      html  css  js  c++  java
  • 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

     

    。。。

  • 相关阅读:
    Buffer Lock Mode and Compatibilities
    11g默认审计选项
    11.2.0.2 asmcmd lsdg show incorrect diskgroup number
    关于V$OPEN_CURSOR
    了解你所不知道的SMON功能(七):清理IND$字典基表
    PL/SQL DEPENDENCIES
    温习 Linux 命令
    温习 SQL 03
    PL/SQL 基础 ( 下 )
    HTML501 ( The.Essential.Guide )
  • 原文地址:https://www.cnblogs.com/spll/p/12974710.html
Copyright © 2011-2022 走看看