YumingYuan commited on
Commit
e1b37d2
·
verified ·
1 Parent(s): 6c0c1ad

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +94 -0
Dockerfile ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 基础镜像
2
+ FROM ubuntu:18.04
3
+ # 维护者信息
4
+ MAINTAINER gotoeasy <[email protected]>
5
+
6
+ # 环境变量
7
+ ENV DEBIAN_FRONTEND=noninteractive \
8
+ SIZE=1024x768 \
9
+ PASSWD=123456 \
10
+ TZ=Asia/Shanghai \
11
+ LANG=zh_CN.UTF-8 \
12
+ LC_ALL=${LANG} \
13
+ LANGUAGE=${LANG}
14
+
15
+ USER root
16
+ WORKDIR /root
17
+
18
+ # 设定密码
19
+ RUN echo "root:$PASSWD" | chpasswd
20
+
21
+ # 安装
22
+ RUN apt-get -y update && \
23
+ # tools
24
+ apt-get install -y vim git subversion wget curl net-tools locales bzip2 unzip iputils-ping traceroute firefox firefox-locale-zh-hans ttf-wqy-microhei gedit ibus-pinyin && \
25
+ locale-gen zh_CN.UTF-8 && \
26
+ # ssh
27
+ apt-get install -y openssh-server && \
28
+ mkdir -p /var/run/sshd && \
29
+ sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \
30
+ sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config && \
31
+ mkdir -p /root/.ssh && \
32
+ # TigerVNC
33
+ wget -qO- https://nchc.dl.sourceforge.net/project/tigervnc/stable/1.12.0/tigervnc-1.12.0.x86_64.tar.gz | tar xz --strip 1 -C / && \
34
+ mkdir -p /root/.vnc && \
35
+ echo $PASSWD | vncpasswd -f > /root/.vnc/passwd && \
36
+ chmod 600 /root/.vnc/passwd && \
37
+ # xfce
38
+ apt-get install -y xfce4 xfce4-terminal && \
39
+ apt-get purge -y pm-utils xscreensaver* && \
40
+ # xrdp
41
+ apt-get install -y xrdp && \
42
+ echo "xfce4-session" > ~/.xsession && \
43
+ # 谷歌浏览器
44
+ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \
45
+ apt-get install -y -f ./google-chrome-stable_current_amd64.deb && \
46
+ sed -e '/chrome/ s/^#*/#/' -i /opt/google/chrome/google-chrome && \
47
+ echo 'exec -a "$0" "$HERE/chrome" "$@" --user-data-dir="$HOME/.config/chrome" --no-sandbox --disable-dev-shm-usage' >> /opt/google/chrome/google-chrome && \
48
+ rm -f google-chrome-stable_current_amd64.deb && \
49
+ # mysql客户端
50
+ apt-get install -y mysql-workbench && \
51
+ # clean
52
+ apt-get -y clean && \
53
+ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
54
+
55
+ # 配置xfce图形界面
56
+ ADD ./xfce/ /root/
57
+
58
+ COPY obsidian.AppImage /opt/
59
+
60
+ ADD ./noVNC /opt/noVNC/
61
+
62
+ RUN chmod 777 /opt/obsidian.AppImage && \
63
+ chmod 777 /opt/noVNC/utils/novnc_proxy && \
64
+ chmod 777 /opt/noVNC/utils/websockify/run
65
+
66
+ # 创建脚本文件
67
+ RUN echo "#!/bin/bash\n" > /root/startup.sh && \
68
+ # 修改密码
69
+ echo 'if [ $PASSWD ] ; then' >> /root/startup.sh && \
70
+ echo ' echo "root:$PASSWD" | chpasswd' >> /root/startup.sh && \
71
+ echo ' echo $PASSWD | vncpasswd -f > /root/.vnc/passwd' >> /root/startup.sh && \
72
+ echo 'fi' >> /root/startup.sh && \
73
+ # SSH
74
+ echo "/usr/sbin/sshd -D & source /root/.bashrc" >> /root/startup.sh && \
75
+ # VNC
76
+ #echo 'vncserver -kill :0' >> /root/startup.sh && \ # 1.10.1
77
+ #echo '/usr/libexec/vncserver :0' >> /root/startup.sh && \ # 1.12.0
78
+ echo '/usr/libexec/vncserver :0' >> /root/startup.sh && \
79
+ echo "rm -rfv /tmp/.X*-lock /tmp/.X11-unix" >> /root/startup.sh && \
80
+ echo 'vncserver :0 -geometry $SIZE' >> /root/startup.sh && \
81
+ echo 'tail -f /root/.vnc/*:0.log' >> /root/startup.sh && \
82
+ # 可执行脚本
83
+ chmod +x /root/startup.sh
84
+
85
+ # 用户目录不使用中文
86
+ RUN LANG=C xdg-user-dirs-update --force
87
+
88
+ # 导出特定端口
89
+ EXPOSE 22 5900 6080 6090 8500 8501 27123 27124
90
+
91
+ # 启动脚本
92
+ CMD ["/root/startup.sh"]
93
+
94
+