创建Dockerfile
# 使用官方Kali镜像作为基础镜像
FROM kalilinux/kali-rolling# 设置工作目录
WORKDIR /app# 将当前目录下的所有文件复制到工作目录中
COPY ./run.sh .
RUN chmod +x /app/run.sh# 安装项目依赖
RUN apt update -y
RUN apt upgrade -y# 安装中文字体支持
apt install ttf-wqy-zenhei ttf-wqy-microhei -yRUN apt install dbus-x11 xfce4 tightvncserver x11vnc xauth git -y
RUN git clone https://github.com/novnc/noVNC.git
RUN echo -e "<password>\n<password>\n" | vncpasswd -f# 暴露容器的8080端口
EXPOSE 5901
EXPOSE 6080# 设置容器启动时运行的命令
CMD ["/app/run.sh"]
创建run.sh
echo "#! /bin/bash" > run.sh
echo "rm /tmp/.X11-unix/X1 -rf" >> run.sh
echo "rm /tmp/.X1-lock" >> run.sh
echo "su - root -c 'vncserver :1'" >> run.sh
echo "/app/noVNC/utils/novnc_proxy --vnc localhost:5901" >> run.sh
生成Images
在Dockerfile所在目录运行下以命令
docker build -t kali-novnc:latest .
# 命令介绍:
# docker:docker命令。
# build:编译。
# -t:镜像的名字及tag,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个tag,参考docker build命令详解。
# kali-novnc:生成镜像的名称。
# latest:生成镜像的版本号。
# .:点符号“.”表示的意思是,指定镜像构建过程中的上下文环境的目录,可以参考docker build 命令后 . 号的意思这篇文章。
创建容器
docker run -itd --name kali -p83:6080 -p5901:5901 --restart=always kali-novnc