如何通过Dockerfile 创建 kali-novnc

 更新时间:2024年04月23日 09:53:06   作者:@半条虫  
这篇文章主要介绍了如何通过Dockerfile 创建 kali-novnc,在Dockerfile所在目录运行相关命令操作即可完成,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

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

到此这篇关于通过Dockerfile 创建 kali-novnc的文章就介绍到这了,更多相关Dockerfile 创建 kali-novnc内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • dockerfile中su命令切换用户激活环境,报错su: invalid option -- ‘n‘

    dockerfile中su命令切换用户激活环境,报错su: invalid option 

    本文主要介绍了dockerfile中su命令切换用户激活环境以及报错su: invalid option -- ‘n‘的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • 两种方式创建docker镜像的启动容器时区别介绍(总结篇)

    两种方式创建docker镜像的启动容器时区别介绍(总结篇)

    这篇文章主要介绍了基于两种创建docker镜像的启动容器时区别总结,第一种凡是用docker commit生成的镜像启动的时候可以加载一个启动自己应用的脚本,第二种用Docfile文件生成的镜像时,来启动容器就不用再加这个脚本了,具体详情一起通过本文学习吧
    2016-10-10
  • docker拷贝文件到主机及导入导出容器及运行导出容器方式

    docker拷贝文件到主机及导入导出容器及运行导出容器方式

    这篇文章主要介绍了docker拷贝文件到主机及导入导出容器及运行导出容器方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Docker使用格式化输出与排序的技巧分享

    Docker使用格式化输出与排序的技巧分享

    Docker 作为当今最流行的容器化技术之一,其命令行工具提供了强大的功能来管理容器镜像,本文给大家介绍了Docker使用格式化输出与排序的技巧,需要的朋友可以参考下
    2025-05-05
  • docker配置node项目的实现步骤

    docker配置node项目的实现步骤

    本文主要介绍了docker配置node项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • 详解Docker 数据卷管理

    详解Docker 数据卷管理

    本篇文章主要介绍了Docker 数据卷管理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • docker如何快速搭建几个常用的第三方服务详解

    docker如何快速搭建几个常用的第三方服务详解

    这篇文章主要给大家介绍了关于利用docker如何快速搭建几个常用的第三方服务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 如何连接docker中的MySQL容器

    如何连接docker中的MySQL容器

    这篇文章主要介绍了如何连接docker中的MySQL容器问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 如何解决启动docker desktop报The network name cannot be found问题

    如何解决启动docker desktop报The network name ca

    在使用Docker Desktop时,可能遇到"The network name cannot be found"的错误,解决这个问题的方法是打开管理员权限的终端,执行重启Docker Desktop的相关命令,如果遇到虚拟化未开启的提示,需要执行“bcdedit /set hypervisorlaunchtype auto”
    2024-10-10
  • docker如何对已经启动的容器添加目录映射(挂载目录)

    docker如何对已经启动的容器添加目录映射(挂载目录)

    当我们创建容器之后,不可避免会遇到修改配置文件的操作,下面这篇文章主要给大家介绍了关于docker如何对已经启动的容器添加目录映射(挂载目录)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02

最新评论