URLOS实战进阶—制作svnserver应用
最近更新时间:2019-06-12 15:29:22
1、制作svnserver镜像
1.1.使用ssh登录宿主机器,创建Dockerfile文件并填充以下内容
From alpine:3.9 ENV TIME_ZONE Asiz/Shanghai RUN sed -i 's@dl-cdn.alpinelinux.org@mirrors.aliyun.com@' /etc/apk/repositories \ && apk update && apk add --no-cache openssh-server \ && sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config \ && ssh-keygen -t rsa -P "" -f /etc/ssh/ssh_host_rsa_key \ && ssh-keygen -t ecdsa -P "" -f /etc/ssh/ssh_host_ecdsa_key \ && ssh-keygen -t ed25519 -P "" -f /etc/ssh/ssh_host_ed25519_key \ && apk add subversion && rm -rf /var/cache/apk/* \ && test -d /data/svn || mkdir -p /data/svn && chmod -R 777 /data/svn WORKDIR /data/svn EXPOSE 3690 CMD [ "/usr/bin/svnserve", "--daemon", "--foreground", "--root", "/data/svn" ]
1.2.执行下面的命令,生成镜像
docker build -t urlos4/svnserver:latest-alpine3.9 .
1.3.运行镜像并进入容器
docker run -itd --name svnserver001 -p 3690:3690 urlos4/svnserver:latest-alpine3.9 docker exec -it svnserver001 sh
1.4.创建project仓库,设置project的相关配置
svnadmin create project vi /data/svn/project/conf/svnserve.conf ### 需要设置内容如下 anon-access = read auth-access = write password-db = passwd authz-db = authz realm = /data/svn/project ## 增加svn账户和密码 vi /data/svn/project/conf/passwd ## 内容如下 admin=admin123 ## 设置账户的权限 vi /data/svn/project/conf/authz ## 内容如下 [/] admin = rw
1.5.使用svn客户端登录,检查是否正常使用。地址svn://ip/project
1.6.测试无误后,将镜像上传到docker云端
docker login #已登录可忽略 docker push urlos4/svnserver:latest-alpine3.9
2、基于URLOS制作svnserver应用
2.1.登录URLOS,添加镜像。如图:
2.2.添加svnserver应用,如图:
点击提交,保存应用数据
3、创建svnserver应用的模板
3.1.在应用列表中,找到svnserver应用,在更多操作按钮下选择管理模板,添加以下三个模板
/data/svn/project/conf/svnserve.conf
/data/svn/project/conf/passwd
/data/svn/project/conf/authz
3.2.svnserve.conf模板设置,如图:
点击提交,保存模板数据。
3.3.passwd模板设置,如图:
点击提交,保存模板数据
3.4.authz模板设置,如图:
点击提交,保存模板数据
4、创建svnserver应用的扩展变量
4.1.点击管理扩展变量,进入扩展变量列表,如图:
4.2.添加扩展变量sshPassword,ssh登录密码。如图:
点击提交,保存数据。
4.3.添加扩展变量sshCaption,ssh设置提示。如图:
点击提交,保存数据。
5、安装svnserver应用并测试
点击提交,URLOS自动部署。
部署完成后,使用ssh登录工具,检测能否登入容器内部;使用svn客户端链接svnserver服务,检测是否可正常使用。如图: