【网络安全---docker】kali上安装docker,CentOS上安装docker,docker命令详解

这篇具有很好参考价值的文章主要介绍了【网络安全---docker】kali上安装docker,CentOS上安装docker,docker命令详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取:

超详细的网络安全笔记

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

二,文件包含漏洞详解

一,docker概念理解

1-1 docker是什么?

docker是一个软件,是一个运行与linux和windows上的软件,用于创建、管理和编排容器;docker平台就是一个软件集装箱化平台,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,也可以实现虚拟化,并且容器之间不会有任何接口。

我们一般安装软件的步骤是 下载压缩包----解压----安装-----运行,有时候我们觉得繁琐,效率不高,有没有一种技术可以快速安装运行软件呢,所以docker技术给我们提供了这样的便利

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

1-2 什么是镜像?

docker 远程镜像仓库网址:

https://hub.docker.com/https://hub.docker.com/

镜像就是别人安装好软件,我们可以直接从远程镜像仓库下载,运行,免去了解压流程;

下载到本地的叫本地镜像(images),下载好的镜像运行以后就叫容器(container);

或者远程镜像可以直接一个命令下载直接运行成容器;

1-3 什么是容器

镜像运行之后就叫容器

1-4 docker客户端和服务端

我们安装docker时客户端和服务端一起安装了,启动客户端以后可以用docker命令操作服务端从远程镜像仓库下载镜像,然后运行

二,docker安装

1-1 CentOS中安装docker

# centos7上面用yum安装
yum install docker -y
#启动docker
systemctl start docker
#设置开机自启
systemctl enable docker

1-2 Kali上安装docker

#添加docker的gpg密钥,签名用的
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
#添加docker的apt源
echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list
#更新apt缓存
apt update
#安装docker
sudo apt-get install docker docker-compose -y
或
sudo apt-get install docker.io
#安装完成之后,docker就自动启动了
systemctl status docker   
#查看docker版本
docker -v  

我在kali2022主机上进行演示安装

1,添加docker的gpc秘钥,签名用的

curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

Warning 不用管,看到OK就说明成功了

2,添加docker的apt源

echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

3,更新apt缓存

apt update

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

4,安装docker 和 docker-compose

注:root用户不用加sudo

用apt-get install docker.io 安装 docker

## 安装docker
sudo apt-get install docker.io

## 安装docker-compose
apt-get install docker-compose -y

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

用 apt install docker-compose

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

5,查看版本

docker -v
docker-compose -v

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

三,docker 镜像 常用命令

3-1 docker run 命令

用于从远程仓库下载镜像,并直接运行(一个命令就可以下载,运行)

-d  #放后台运行
-p 端口映射 #例子: -p 宿主机端口:容器端口
--name 指定容器的名字 # docker run -it --name jaden 镜像id或者名称
--link 关联另一个容器 # 了解即可
-e MYSQL_ROOT_PASSWORD #设置容器的一些属性,了解一下即可
-it #是给运行起来的这个容器分配一个终端,就可以进入到容器内部操作了

3-1-1 案例:下载Nginx并运行

-d  ## 后台运行

-p ## 指定端口映射

因为每个镜像他都是有自己的端口的比如nginx镜像默认是80端口,这个端口跟本机端口是两回事,我们需要用本机的端口进行映射,比如把本机80端口映射到Nginx的80端口;

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

docker run -d -p 80:80 nginx

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

Nginx已经下载好,并运行起来了

浏览器访问192.168.31.20:80

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

3-1-2 下载指定版本的ngixn

注意:本机的80端口映射给了上一个下载的Nginx,这个1.16版本的话本机81端口映射给镜像的80端口

docker run -d -p 81:80 nginx:1.16

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

Nginx1.16 已经下载好,并运行起来了

浏览器访问192.168.31.20:81

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

大家有没有发现下载的时候有一句提示

Unable to find image "nginx1.16" locally

是因为docker run命令下载镜像的时候先判断这个镜像在本地存不存在(有没有已经下载好),如果没有则从远程仓库下载,如果本地有,则直接运行本地下载好的镜像

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

3-2 docker search 命令

用于搜索镜像,有时候想下载镜像,但想看看有有哪些镜像,就可以用这个命令去查看

docker search nginx
docker search httpd
docker search mysql

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

下载的时候就可以下载自己想下载的镜像了,比如

docker run -d  -p 3306:3306 mariadb
# 不指定版本号默认下载最新的

3-3 docker images 命令

查看本地镜像列表(下载了哪些镜像)

因为我就下了两个,所以就显示两个

有个 IMAGE ID 就是这个镜像的ID值

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

3-4 docker pull 命令

(docker run 命令时下载直接运行镜像,而我们只想下载,不想运行怎么办?)

docker pull 作用把远程镜像拉取到本地

docker pull httpd

如果不指定版本号默认下载最新版本

docker imges 查看发现已经下载到本地了

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

3-5 docker push 命令

#上传镜像,推送镜像,推到官方仓库,推送不是那么简单的,不然早就满了,需要在本地登录一下官方账号才能推,后面再演示

感兴趣自己了解一下吧,不多讲了,docker 镜像仓库网址

https://hub.docker.com/

3-6 docker rmi 命令

remoove iamge 删除本地镜像(注意已经运行的镜像不能删除,比如我删除已经运行的nginx)

docker rmi nginx:1.16

报错了说这个镜像不能删除,因为容器42ccd25441d9 是 被镜像 dfcfd8e9a5d3 运行起来的 ;

镜像 dfcfd8e9a5d3 指的是 nginx:16(docker images 可以查看镜像ID) ,他运行起来以后叫容器 分配容器ID;

注意:镜像是镜像,容器是容器,不是说镜像运行起来以后身份变了成了容器;而是镜像运行起来以后镜像还在,可以说产生了一个容器,所以说一个镜像可以运行多个独立的容器

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

删除镜像可以用名字,也可以用他的IMAGE ID

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

docker rmi httpd
或
docker rmi 7860e7628717

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

可以同时删除多个镜像:

格式就是如下,通过空格隔开可以删除多个容器

docker rmi tomcat:latest tomcat:jre17-temurin-jammy httpd mysql

3-7 docker save

导出镜像,如果我们想要把镜像导出,放到另一个主机里导入然后运行,比如:

 docker save nginx:1.16 -o docker.nginx1.16.tar.gz

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

3-8 docker load

导入镜像,可以导入导出的镜像,

注:因为我nginx:1.16 一直运行这而且已经在本地存在,所以我得删除才能导入,要不然呢或冲突的

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

已经删除了nginx:1.16 现在可以导入刚才导出的了(会自动解压的)

docker load -i docker.nginx1.16.tar.gz

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

四,docker 容器 常用命令

4-1 docker run

run 作用不仅是从远程仓库下载并运行镜像,我们说过他会先判断这个镜像在不在本地,不在本地的话再从远程仓库下载运行,所以本地镜像可以也用run 命令运行

比如说运行刚导入的nginx:16

docker run -d -p  83:80 nginx:1.16

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

已经运行起来了,可以访问看看

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

4-2 docker ps 

查看已经运行的容器列表

docker ps =========== docker container ls

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

-a   ## all 的意思,显示所有容器(运行起来以后停掉的也算容器) 

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

CONTAINER ID : 容器ID,删除容器都是通过ID或者NAMES删除的;

IMAGES:镜像,就是从哪个镜像启动的

CREATED:什么时候创建的

STATUS:状态,up 表示在运行,Exited表示停止运行了,上面Nginx1.16有两个说明一个镜像可以多次运行称为多个容器;

NAMES:表示镜像列表,运行的时候可以--name参数起名字,如果不起名字就随机分配一个名字;我们没有起名字所以NAMES都是随机的 

-q  ## 只显示容器的ID

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

docker ps -a  ## 列出所有容器的详细信息(已经运行的+运行完停掉的

docker ps -q  ## 只列出容器的ID号

docker ps -a -q ## 列出所容器的ID号

4-3 docker stop

停止运行的容器(只能根据container ID 或者 NAMES 删除

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

docker stop c0a4f676add2 

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud
 表示停止成功了

停止所有在运行的容器

docker stop `docker ps -q`

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

 4-4 docker start

启动容器(根据容器的ID或者名字)

先 docker ps -a  查看一下,哪些容器没启动,全都没启动,因为上一步我用 docker stop `docker ps -q`停掉了所有容器

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

docker start e932acc39242

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

docker ps 查看一下有没有启动成功,发现已经启动了,就在 15秒之前

 4-5 docker restar

重启容器(根据容器的ID或者名字

docker restart e932acc39242

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

4-6 docker rm

删除容器,只能删除已经停掉的容器(docker rm -f 强制删除也能删除在运行的容器)

先 docker ps -a 查看所有容器,根据ID号(或者NAMES)删除没在运行的容器

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

docker rm 容器id或者容器名字,同时删除多个,就空格隔开,处于up状态是不能直接删除的,强制删除是可以删除up状态的容器的 

 docker rm -f `docker ps -a -q` #删除所有容器,-q是只显示容器id,反引号中的指令优先执行

4-7 docker top

查看容器内的进程(根据容器的ID或者名字

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

4-8 docker stats

查看容器的资源占用情况

docker stats e932acc39242

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud 4-9 docker exec 

进入容器内部

 docker exec -it 容器id或者容器名字

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

 # 直接交互指令:docker exec -it 76738703b7b2 ls # 执行ls指令
 # 进入终端:docker exec -it 76738703b7b2 /bin/bash或者/bin/sh #/bin/bash打开一个终端窗口,exit指令退出终端,但是docker容器内容一般不会安装额外的软件,所以导致大量的指令是用不了的,比如ifconfig、ps、ip addr等 

五, docker-compose 

5-1 docker-compose 配置文件

一般项目中一个容器还不够,则需要多个容器,难道就一个个下载,运行吗?这样还是麻烦,有没有一种办法,同时启动多个容器呢?那就是通过docker-compose 技术可以做到同时启动多个容器

yum install epel-release.noarch -y
yum install docker-compose -y

#kali安装docker-compose
apt install docker-compose -y
# 查看版本
docker-compose -v

 这里给大家补充个点 systemctl restart docker 重启docker服务会自动关闭所有的容器。

#启动容器的时候,如果加上了--restart=always,那么重启服务之后,这个容器会自动启动
docker run -it -d --restart=always nginx:1.16  # 实现了开机自启动的效果

想要启动多个容器,则需要配置一个docker-compose.yml文件

# 为了避免端口冲突,我们可以先关闭所有docker容器

docker stop `docker ps -a -q`
# 为了演示方便,我们可以先创建一个wordpress文件夹,进入到里面创建一个docker-compose.yml名字的文件
mkdir wordpress
cd wordpress/
touch docker-compose.yml
vim docker-compose.yml

# 将如下内容拷贝到文件中保存退出,注意拷贝的时候,把里面我标记的注释去掉。
# 注意,下面这个文件内容是严格要求格式的,多一个空格都不行,通过缩进来表示等级关系,下面的这种配置语法叫做yaml语法

version: '3'  # 版本随便起名字
services:  ## 固定格式
   db:  #容器名称,可以随便指定名字
     image: mysql:5.7
     restart: always  # 开机自启动的意思
     environment: ## 一些配置参数
       MYSQL_ROOT_PASSWORD: 123456
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: 123456  # 和下面的WORDPRESS_DB_PASSWORD值要对应上
   wordpress:
     depends_on:  ## 对db容器关联,因为wordpress需要数据库
       - db
     image: wordpress:5.6  
     ports:
       - "83:80"  # 端口映射
     restart: always
     environment:
       WORDPRESS_DB_HOST: db
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: 123456

5-2 docker-compose 常用命令

#创建并启动
docker-compose up -d # 启动之后就可以通过浏览器访问了
#停止并删除
docker-compose down
#重启
docker-compose restart
#停止
docker-compose stop
#启动
docker-compose start

有了docker-compose.yml配置文件,可以使用docker-compose up -d 指令按照配置文件里的容器和配置项去下载,执行相应的容器

 注意:执行 docker-compose up -d 的时候必须在这个配置文件路径下运行,如果别的路径则不能识别出来,

 创建一个wd文件夹,进入以后vim docker-compose.yml(这个文件夹不存在的,会自动创建)

把配置内容复制粘贴到里面

kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud 查看配置好的内容kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

然后就在有docker-compose.yml目录下运行即可 kali安装docker,Linux,渗透工具,网络安全,docker,java,spring cloud

yml语法格式校验很严格的,我的估计格式有问题,所以报错了,大家可以自行百度一下其格式;

配置文件格式无误后,可以按照配置文件下载相应镜像并运行起来了,项目中通过这个方法,可以很便捷的启动我们需要的容器了; 

 关于docker常见操作就这些,如果遇到问题欢迎留言,或者技术交流文章来源地址https://www.toymoban.com/news/detail-752793.html

到了这里,关于【网络安全---docker】kali上安装docker,CentOS上安装docker,docker命令详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 网络安全-01-VMware安装Kali&部署DVWA

    网络安全-01-VMware安装Kali&部署DVWA

    Kali linux是基于Debian的Linux的发行版,高级渗透测试及安全审核的工具。   kali linux: 1、包含600+渗透测试工具 2、完全免费 3、多语言 Kali linux镜像下载地址: http://old.kali.org/kali-images/ 📰 2.1 新建虚拟机 选择稍后安装操作系统,➡下一步 选择Linux, Debian 10.X 64位,➡下一步 重

    2024年02月12日
    浏览(9)
  • 最新Kali Linux安装教程:从零开始打造网络安全之旅

    最新Kali Linux安装教程:从零开始打造网络安全之旅

    Kali Linux,全称为Kali Linux Distribution,是一个操作系统(2013-03-13诞生),是一款基于Debian的Linux发行版,基于包含了约600个安全工具,省去了繁琐的安装、编译、配置、更新步骤,为所有工具运行提供了一个稳定一致的操作系统基础,专注于网络安全、渗透测试和数字取证等领域

    2024年02月12日
    浏览(12)
  • 【网络安全零基础入门】003、2023最新kali下载安装教程(超详细,亲测可用)

    【网络安全零基础入门】003、2023最新kali下载安装教程(超详细,亲测可用)

    虚拟机安装(这里我使用VMware17),如果不会安装虚拟机的朋友可以看看下面这篇教程,亲测可用 【网络安全修炼-炼气期】001、Win10环境下VMware17的下载与安装(超详细,亲测可用) 我们进入kali官网,选择Installer Images 可根据自己需求选择64位,32位。 下载完成后的镜像如下图所

    2024年02月08日
    浏览(10)
  • 【网络安全】Centos7安装杀毒软件----ClamAV

    【网络安全】Centos7安装杀毒软件----ClamAV

    Clam AntiVirus是一个Linux系统上使用的反病毒软件包。主要应用于邮件服务器,采用多线程后台操作,可以自动升级病毒库。 1.下载rpm 2.升级epel源 3.安装ClamAV 4.修改配置 1.ClamAV简单使用 如果出现这种情况,那需要更新病毒库 2.ClamAV命令 --quiet:使用安静模式,仅仅打印出错误信

    2024年02月02日
    浏览(14)
  • 网络安全kali web安全 Kali之msf简单的漏洞利用

    网络安全kali web安全 Kali之msf简单的漏洞利用

    靶机的IP地址为:192.168.173.136 利用nmap工具扫描其开放端口、系统等 整理一下目标系统的相关信息 系统版本:Windows server 2003 开放的端口及服务: 从扫描出的端口发现,目标主机开启了135端口,服务为msrpc(远程过程调用服务),即Windows的RPC服务。 ​针对这个服务,我们就可

    2024年02月09日
    浏览(5)
  • 【网络安全 --- 工具安装】Centos 7 详细安装过程及xshell,FTP等工具的安装(提供资源)

    【网络安全 --- 工具安装】Centos 7 详细安装过程及xshell,FTP等工具的安装(提供资源)

    分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记 VMware虚拟机的安装教程如下,如没有安装,可以参考这篇博客安装(提供资源) 【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客 【网

    2024年02月08日
    浏览(3)
  • 网络安全--Kali渗透Windows

    网络安全--Kali渗透Windows

    这里我们学习使用Kali攻击机来渗透Windows,这里使用的是msfvenom木马来进行渗透。 命令: msfvenom -p windows/meterpreter/reverse_tcp lhost=127.0.0.1 lport=4444 -f exe -o payload.exe 这里说明一下,-p 是指使用的工具模块,lhost是本机的IP地址,lport是本机的端口, -f 是指生成什么样的文件,简称指定

    2024年02月05日
    浏览(10)
  • KALI LINUX网络安全监控工具

    Snort是一款常用的开源入侵检测系统,被广泛应用于渗透测试、网络安全监控和入侵检测等领域。作为一名渗透测试工程师,了解Snort的原理、配置和使用方法是非常必要的。本文将详细介绍Snort的工作原理、配置方法和使用技巧,希望可以帮助读者更好的理解和应用这个工具

    2024年02月02日
    浏览(8)
  • 「Kali Linux」网络安全黑客自学、网络渗透(文末送书)

    「Kali Linux」网络安全黑客自学、网络渗透(文末送书)

    目录 1.背景介绍 2.读者对象 3.随书资源 4.本书目录 5.本书概览 6.活动参与方式  对于企业网络安全建设工作的质量保障,业界普遍遵循PDCA(计划(Plan)、实施(Do)、检查(Check)、处理(Act))的方法论。近年来,网络安全攻防对抗演练发挥了越来越重要的作用。 企业的安

    2024年02月08日
    浏览(9)
  • 深入探索:Kali Linux 网络安全之旅

    深入探索:Kali Linux 网络安全之旅

    目录 前言 访问官方网站 导航到下载页面 启动后界面操作 前言 \\\"Kali\\\" 可能指的是 Kali Linux,它是一种基于 Debian 的 Linux 发行版,专门用于渗透测试、网络安全评估、数字取证和相关的安全任务。Kali Linux 旨在提供一系列用于测试网络和系统安全性的工具,以及为安全专业人员

    2024年02月12日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包