有时候出门在外,需要修改一个bug却苦于没有开发环境,一个远程的开发机的重要性便凸现出来。
传统的配置vncserver的方式需要安装大量的软件包,对于系统整洁强迫症来说便难以忍受。使用Docker的方式把整个环境打包,需要时启动,不需要时remove掉,不仅可以保持服务器干净整洁,还可以实现工作环境的快速迁移。
部署流程
- 寻找一个基础的vncserver的docker镜像,我这里在GitHub上找到一个不错的镜像:https://github.com/queeno/docker-ubuntu-desktop。它配置很简单,就是基于Ubuntu:16.04,安装tightvncserver和相关的软件包,然后把xstartup配置文件和passwd密码文件复制到镜像中(默认密码是password)。
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
ENV USER root
RUN apt-get update && \
apt-get install -y --no-install-recommends ubuntu-desktop && \
apt-get install -y gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal && \
apt-get install -y tightvncserver && \
mkdir /root/.vnc
ADD xstartup /root/.vnc/xstartup
ADD passwd /root/.vnc/passwd
RUN chmod 600 /root/.vnc/passwd
CMD /usr/bin/vncserver :1 -geometry 1280x800 -depth 24 && tail -f /root/.vnc/*:1.log
EXPOSE 5901
- 修改软件源:
- 这个包使用的Ubuntu:16.04使用的是国外的软件源,导致build的速度非常慢,这里可以改成使用国内软件源的镜像,我这里做了一个
FROM akkz/docker-ubuntu-chinese-resources:release-14.04
- 增加中文的字体支持
- 在
RUN chmod 600 /root/.vnc/passwd
后面加上
- 在
RUN apt-get install -y ttf-wqy-microhei && \
apt-get install -y ttf-wqy-zenhei && \
apt-get install -y xfonts-wqy
-
如果有需要,加上GBK支持的命令,格式和上面相同
-
加上工作所需要的软件的安装指令,如:
RUN apt-get install -y firefox
- 启动镜像
注意事项
- 有时候中文乱码可能因为字体没有装,不要陷在GBK的安装中。
- 用docker-compose可以提高部署效率
- 端口可以映射到其它端口,提高安全性