如何通过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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解使用export/import导出和导入docker容器

    详解使用export/import导出和导入docker容器

    本篇文章主要介绍了详解使用export/import导出和导入docker容器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Docker Compose部署Nginx的方法步骤

    Docker Compose部署Nginx的方法步骤

    本文主要介绍了Docker Compose部署Nginx的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Docker安装LNMP环境的详细过程(可部署TP项目)

    Docker安装LNMP环境的详细过程(可部署TP项目)

    这篇文章主要介绍了Docker安装LNMP环境的详细过程(可部署TP项目),主要包括安装docker,安装nginx,安装php的命令详解,需要的朋友可以参考下
    2022-06-06
  • docker-swarm之使用Docker secret管理敏感数据

    docker-swarm之使用Docker secret管理敏感数据

    就Docker Swarm集群服务而言,secret 是块状数据,例如密码、SSH私钥、SSL证书或其他不应通过网络传输或未加密存储在Dockerfile或应用程序源代码中的数据,我们可以使用Docker secret 集中管理这些数据,所以接下来就带大家了解一下如何使用Docker secret 管理敏感数据
    2023-08-08
  • Docker安装MS SQL Server并使用Navicat远程连接的操作方法

    Docker安装MS SQL Server并使用Navicat远程连接的操作方法

    SQL Server支持广泛的应用程序开发接口(API),包括T-SQL、ADO.NET、ODBC、OLE DB等,并支持多种操作系统,包括Windows、Linux和Docker等,这篇文章主要介绍了Docker安装MS SQL Server并使用Navicat远程连接,需要的朋友可以参考下
    2023-06-06
  • docker发布sunnyNgrok实现内外网穿透的方法(容器内执行命令)

    docker发布sunnyNgrok实现内外网穿透的方法(容器内执行命令)

    这篇文章主要介绍了docker上发布 sunnyNgrok 实现内外网穿透,容器内执行命令,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Docker上实现Redis集群搭建

    Docker上实现Redis集群搭建

    redis集群对于很多人来说非常熟悉,虽然集群搭建的文章在网上很多,但是今天给大家介绍的是在docker上实现Redis集群搭建,感兴趣的可以了解下
    2021-05-05
  • 使用docker搭建sonarqube的方法

    使用docker搭建sonarqube的方法

    这篇文章主要介绍了使用docker搭建sonarqube的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker实践之容器的导入与导出

    docker实践之容器的导入与导出

    Docker技术为IT界带来了巨大的改变,它使得云服务可以用来共享应用和工作流程自动化,使得应用可以用组件快速组合,消除了开发、品质保证、产品环境间的摩擦。这篇文章我们将详细的介绍docker容器的导入与导出,感兴趣的朋友们下面来一起看看吧。
    2016-10-10
  • Docker 搭建集群MongoDB的实现步骤

    Docker 搭建集群MongoDB的实现步骤

    这篇文章主要介绍了Docker 搭建集群MongoDB的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论