由于公司使用的代码管理工具还是 subversion,每次都命令行使用实在有点不方便,于是乎想到了找一个 Linux 平台的可视化 subversion 工具,因为自己的工作环境的机器基本都是 CentOS7.X,找了几个安装都有问题,最后想到是不是可以用 docker 来实现,这样弄想起来都挺美气的。
Dockerfile
代码语言:javascript复制from ubuntu
RUN apt-get update
RUN apt-get install -y sudo iputils-ping net-tools rapidsvn subversion locales language-pack-zh-hans language-pack-gnome-zh-hans fonts-wqy-microhei fonts-wqy-zenhei
RUN echo 'root:Letmein' | chpasswd
RUN useradd -u 1000 admin
RUN echo "admin:admin" | chpasswd
RUN echo "admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
RUN locale-gen en_US.UTF-8
Dockerfile 使用 ubuntu 镜像做基本镜像,安装了一些工具包,rapidsvn和中文字体文件。另外,还添加了一个系统用户,这主要是为了和我宿主机器的用户保持一致,这里要注意一下uid和gid一定要统一。
制作镜像
代码语言:javascript复制docker build -t kongxx/rapidsvn:v1 .
使用 RapidSVN
为了能让容器里的应用程序投送到当前的窗口上,需要运行下面命令来允许任意的客户端访问。
代码语言:javascript复制$ xhost
access control disabled, clients can connect from any host
然后运行下面命令来启动 RapidSVN 工具。
代码语言:javascript复制docker run -it --rm -u admin -e DISPLAY=$DISPLAY -e LANG=zh_CN.UTF-8 -v /tmp/.X11-unix:/tmp/.X11-unix -v /home/admin:/home/admin kongxx/rapidsvn:v1 rapidsvn