Docker

一、Docker

1.概念

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,容器时完全使用沙箱机制,互相之间不会任何接口。

2.Docker与VM区别

Docker

VM

架构和资源消耗

轻量级,资源消耗少,共享主机的操作系统内核和其他资源。

模拟完整的计算机系统,相对来说比较笨重,启动时间较长。

隔离性和安全性

Docker容器之间可以互相通信,但默认是隔离的。

每个虚拟机有自己独立的操作系统,隔离性比Docker更强,虚拟机之间通信需要通过网络协议进行,通常会使用虚拟机交换机或网络桥接。

部署和扩展

可以通过Docker容器快速创建多个相同或不同的服务实例。

通常用于运行需要完全独立环境的应用或服务,如运行不同的操作系统的应用或需要较高隔离性的应用场景。

性能

性能损失较小,不需要模拟硬件。

性能损失较大,需要模拟整个操作系统。

镜像:可以理解为软件安装包,里面包含着该程序所需的环境插件库等信息。

容器:软件安装后的状态,每个软件运行环境都是独立的、隔离的。

仓库:仓库是集中存放镜像文件的场所。

3.Docker安装

yum install -y yum-utils \

device-mapper-persistent-data \

lvm2 --skip-broken

yum-config-manager \

--add-repo \

https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast

yum install -y docker-ce

或者使用一键安装

bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)

4.Docker换源

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["配置 Docker 使用国内镜像源"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

4.Docker基础使用

4.1查看docker基本信息

命令

解释

docker -v

查看docker版本

service docker status

查看docker运行状态

service docker start

启动docker

service docker stop

停止docker

systemctl enable docker

开机启动docker服务

4.2Docker基础使用

命令

解释

docker search

查找镜像

docker pull 仓库地址:tag

获取镜像

docker images

查看本地镜像

docker rmi 镜像名或镜像ID

删除本地镜像

docker inspect 镜像名或镜像ID

查看镜像详情

4.3容器相关命令

命令

解释

docker run [参数] 镜像名或id 命令

创建、启动容器并执行相应的命令

docker ps -a

查看所有运行中的容器

docker stop 容器名或容器id

停止运行中的容器

docker kill 容器名或容器id

强制关闭

docker start 容器名或容器id

启动容器

docker rm 容器名或容器id

删除容器

5.Docker 启动环境

拉取镜像

docker pull wordpress:latest 或 docker pull wordpress:6        docker pull [镜像地址]:[tag]拉取不同的版本

查看镜像

启动容器

参数解释:

-d 放置后台运行

-p 指定端口映射[宿主机]:[容器]

-P 随机端口映射

查看容器状态

访问网站

http://192.168.89.152:8080/wp-admin/setup-config.php?step=1&language=zh_CN

进入容器

语法:docker exec -it [容器ID] /bin/bash

docker exec -it 2935b6f24643 /bin/bash

停止容器

语法:docker stop [容器ID]

docker stop 2932b624643

6.Docker-Compose

简介:

Compose 适用于定义和运行多容器Docker应用程序的工具,通过Compose,可能使用yml文件来配置应用程序所需要的服务然后使用一个命令,就可以从yml文件配置中创建并启动所有服务。

compose安装

常用命令

命令

解释

docker-compose build

自动构建和重构服务

docker-compose up -d

启动环境并在后台运行

docker-compose down -v

关闭并删除整个环境

docker-compose ps

查看启动的容器

7.Vulhub搭建

概念:

Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞浮现变得更加简单,让安全研究者更加专注于漏洞原理本身。

将vulhub-master.zip文件解压到当前目录

PS:vulhub压缩包需要复制进虚拟机需要复制粘贴,拖拽可能会丢失文件,如果无法复制,可以在ssh连接软件中移到虚拟机中并解压。

进入到漏洞目录内

漏洞复现

本机访问漏洞

报错处理:

8.常用命令总结

1.docker开源应用容器引擎
2. 仓库、镜像、容器 (仓库:存放镜像的位置、镜像:已经打包好的程序环境、容器:启动后的镜像)
3. docker images # 查看docker镜像
4. docker rm # 删除镜像
5. docker run # 启动容器
6. docker search # 搜索镜像
7. docker pull # 拉取镜像
8. docker ps -a # 查看启动的容器
9. docker kill 强制结束、docker stop 停止
10. docker-compose 是一个基于docker的容器管理工具
11. docker-compose up -d 启动
12. docker-compose stop 停止
13. docker-compose rm 删除容器
14. docker-compose ps 查看容器运行状态

15.docker exec -it my_container /bin/bash docker进入容器终端的命令

端口映射:将本机的某个端口,映射到容器的某个端口中,访问本机的端口即可访问到容器服务
进入docker容器: docker exec -it 容器ID /bin/bash
vulhub : 一个基于docker和docker-compose的漏洞环境集合(将漏洞环境编写为.yml文件使用docker-compose一键启动)

二、防火墙

1.概念:

防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合,它是不同网络安全域之间的一系列部件的组合。

它是不同网络和网络安全域之间信息的唯一出入口,能根据企业的安全策略控制(允许、拒绝、检测)出入网络的信息流,且本身具有较强的抗攻击能力。

逻辑上防火墙是一个分离器、限制器和分析器,它能有效地监控内部网和Internet之间的任何活动,保证了内部网络的安全。

2.防火墙的功能

  • 过滤进出网络的数据包。
  • 对进出网络的行为做出日志记录,并提供网络使用情况的统计数据,实现对网络存取和访问的监控审计。
  • 对网络攻击进行检测和警告。
  • 有些防火墙会提供VPN、NAT等功能

3.防火墙分类

  • 软件防火墙:学校、上前台电脑的网吧,普通计算机+通用的操作系统(如:linux)
  • 硬件防火墙:基于专门的硬件平台,具有速度快、处理能力强、性能高、价格比较昂贵的特点。

4.上网卡接口

  • 外网接口:用于连接Internet网;
  • 内网接口:用于连接代理服务器或内部网络;
  • DMZ接口(非军事化区):专用于连接提供服务的服务器群。

5.firewalld预定区域表

区域

区域中包含的初始规则

trusted(受信任区)

允许所有流入的数据包

public(公开)

拒绝流入的数据包,允许外出及服务ssh、dhcpv6-client,新添加的网络接口缺省的默认区域。

drop(丢弃)

任何流入网络的包都被丢弃,不作出任何响应,除非与输出流量数据包相关。只允许流出的网络连接。

dmz(隔离区)

拒绝流入的数据包,除非与输出流量数据包相关 ,允许外出及服务ssh。

6.firewalld-cmd常用参数

7.实操:将web服务器允许同网段内访问

firewall-cmd --get-zone-of-interface=ens33                    # 查看ens33所在防火墙区域

firewall-cmd --set-default-zone=dmz # 设置默认在dmz区

firewall-cmd --permanent --zone=dmz --change-interface=ens33   # 将ens33添加至

dmz默认区域

firewall-cmd --permanent --zone=dmz --add-service=http         # 允许dmz区

http流量通过

firewall-cmd --reload # 重启加载测策略

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值