通过Dockerfile 创建 kali-novnc

devtools/2024/11/13 9:05:53/

创建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

http://www.ppmy.cn/devtools/5786.html

相关文章

C++进阶——继承

前言&#xff1a;从这篇文章开始&#xff0c;我们进入C进阶知识的分享&#xff0c;在此之前&#xff0c;我们需要先来回顾一个知识&#xff1a; C语言有三大特性&#xff0c;分别是封装、继承和多态&#xff0c;而我们前边所分享的各种容器类&#xff0c;迭代器等&#xff0c;…

type-cDP输入转双type-cDP输出,加type-c接口充电管理同时接两台显示器或者VR投屏,龙迅LT8712SX方案,龙迅桥接芯片方案

type-c的应用在各种设备上更加广泛&#xff0c;包括手机&#xff0c;电脑&#xff0c;游戏掌机&#xff0c; 因为type-c的功能非常强大&#xff0c;可以做到PD快充&#xff0c;DP信号输出&#xff0c;USB信号输出&#xff0c;所以很多设备为了做得更简洁都开始把其他的如HDMI接…

centos操作命令

CentOS操作命令包括但不限于以下几种&#xff1a; 系统操作命令&#xff1a; 关机、重启及登出&#xff1a; shutdown -h now&#xff1a;关闭系统。init 0 或 telinit 0&#xff1a;关闭系统。shutdown -r now&#xff1a;重启系统。reboot&#xff1a;重启系统。logout&…

iOS知识点 --- Runtime

Objective-C (OC) 中的 Runtime 原理&#xff1a; Objective-C Runtime 是一套用于支持 Objective-C 动态特性的底层 C 语言 API。它为 Objective-C 提供了以下核心功能&#xff1a; 动态类型&#xff1a;在运行时确定对象的确切类型&#xff0c;允许在程序执行过程中进行类型…

Swift错误处理

错误与异常的概念&#xff1a; 在Swift中&#xff0c;错误&#xff08;error&#xff09;表示程序可能遇到的意外情况&#xff0c;这些情况可能导致程序无法按预期的方式继续执行。错误通常表示由于外部因素或不正确的代码导致的问题。异常是一种特殊类型的错误&#xff0c;表…

第二届 Oceanbase 开发者大会 实录

第二届 Oceanbase 开发者大会 实录 今天很有幸参加了Oceanbase 开发者大会&#xff0c;我是真的我一开始还不知道什么是Oceanbase &#xff0c;直到我开了会才知道。看来真的需要多参加一些这样活动。 会议议程 我们科普一下什么是Oceanbase OceanBase 是阿里巴巴集团推出…

匿名函数lambda

一、匿名函数的基本语法 lambda 表达式可以看成是一般函数的函数名被略去,返回值使用了一个 -> 的形式表示。唯一与普通函数不同的是增加了捕获列表。[捕获列表](参数列表) -> 返回类型{函数体 }auto Add = [](int a, int b) -> int {return a + b; }; cout <<…

openssl3.2 - exp - 用base64后的字符串作为配置项的值

文章目录 openssl3.2 - exp - 用base64后的字符串作为配置项的值概述笔记配置项的值长度有限制 配置项的值不能是base64之后的直接值&#xff0c;需要处理之后才行。openssl配置项的值并不是所有可见字符都可以例子现在用的base64的类cipher_base64.hcipher_base64.cpp 现在用的…