Docker的安装与使用(一篇文章搞定)

一、Docker:

应用容器引擎,虚拟化工具 响应速度特别快,轻便高效 运行于主机内核,自己没有内核(与主机共用,而vm是虚拟出一个完整的)

镜像:mages一个模板,提供容器运行时所需的程序,库等和配置参数,不包含动态数据

容器:container 进程 模板制作出来的

仓库:放镜像模板的 云仓库和本地仓库

云仓库:https://hub.docker.com

二、安装docker

检测网络连通性(ping www.baidu.com)

下载安装脚本文件(curl -fsSL get.docker.com -o get-docker.sh)

给脚本文件添加执行权限(chmod +x get-docker.sh)

使用脚本进行安装(./get-docker.sh --mirror Aliyun)

若等待时间过长,则干掉指定进程(kill 9 PID)

若脚本安装一直失败,则使用yum安装(yum -y install docker)

测试安装结果(docker version)

启动docker服务(systemctl start docker)

设置docker服务开机自启(systemctl enable docker),命令需要执行两次

三、如何使用xshell进行文件传输

rz:上传指令(rz 命令后在打开的窗口选择要上传的文件)

sz:下载指令(sz 文件名,在打开的窗口选择下载路径)

若无该命令,则需要安装命令(yum -y install rzsz)

四、常用docker命令(image、container)

docker云仓库网站(https://hub.docker.com

查看本地镜像(docker images)

下载dvwa镜像(docker pull sagikazarmark/dvwa)

删除镜像(docker image rm -f 镜像ID)

通过镜像创建运行一个容器(docker run 镜像ID)

进入容器(docker exec -it 容器ID|容器名 /bin/bash)(it:交互式)

查看容器信息(docker ps -a)

容器状态操作(docker start/stop/restart/kill 容器ID)练习

查看容器内服务的运行日志(docker logs 容器ID)

五、复制文件(dvwa为容器名)

前提:创建dvwa容器(docker run -d --name dvwa -p8080:80 镜像ID)

启动容器dvwa(docker start dvwa)

进入容器dvwa(docker exec -it dvwa /bin/bash)

创建test.txt文件(touch test.txt)

将当前目录的信息重定向到test.txt文件中(ls -al > test.txt)

退出容器(exit)

复制命令,容器——>宿主机(docker cp dvwa:/test.txt /root)

输出文件内容(cat /root/test.txt)

复制命令,宿主机——>容器(docker cp /root/sql注入.md dvwa:/)

进入容器查看复制结果(docker exec -it dvwa /bin/bash)

docker-compose up -d

六、数据卷

宿主机创建一个共享目录(/root/test)

创建启动容器(docker run -d --name test -v /root/test:/root/test 镜像ID)

进入容器test(docker exec -it test /bin/bash)

进入/root/test目录(cd /root/test)

打开新的终端,在宿主机的/root/test目录下新建文件

查看容器/root/test目录下的变化

七、创建容器常用

docker run --name dvwa -p8080:80 镜像ID(将容器的80端口,映射到宿主机的8080端口)

docker run --name dvwa -p8080:80 e901498e651a

本地主机访问8080端口时需要关闭Centos防火墙(该操作需要在容器创建之前完成)

九、镜像的导入和导出

导出(export)

进入dvwa容器(docker exec -it dvwa /bin/bash)

创建标志文件(touch 6.10.test.txt)

退出容器(exit)

将容器导出为镜像(docker export 容器ID > test.tar)

导入(import)

下载钉钉中的test.tar文件,上传至虚拟机/root目录下

将压缩到导入到docker本地镜像(docker import - test < test.tar)

查看本地镜像(docker images)

利用导入的镜像创容器(docker run --name test test /run.sh)

进入容器查看导出镜像前创建的文件(docker exec -it test /bin/bash)

ls -al

十、docker镜像命令:

查看本地镜像:docker images

删除镜像:docker image rm -f 镜像id

创建运行容器:docker run 镜像id

查询容器信息:docker ps -a (80 3306端口)

进入容器:docker exec -it(以交互式) 容器id /bin/bash

容器状态操作:docker start/stop/restart/kill 容器id

创建容器常用:docker run --name dvwa -p8080:80(将容器80映像到宿主机的8080端口) 镜像id

导入镜像:docker import - test < ***.tar

docker run test /run.sh

十一、利用基础镜像制作属于自己的靶场环境

删除所有容器(docker rm -f $(docker ps -aq))

在宿主机的root目录下创建html共享文件夹

创建启动基础镜像容器(docker run -d --name myserver -p8080-8089:80-89 -v /root/html:/var/www/html 镜像ID[dvwa的])

上传DVWA靶场文件至/root/html目录下(修改数据库配置文件中的用户名为root,密码不变)

将我创建的自定义镜像导入到本地(docker import - myserver < myserver.tar)

并创建启动容器(docker run -d --name myserver -p8080-8089:80-89 myserver /run.sh)

十二、安装vulhub环境(综合靶场)

需要docker和docker-compose环境

将docker-compose-Linux-x86_64文件上传到Centos虚拟机的/usr/local/bin/目录下

将docker-compose-Linux-x86_64重命名为docker-compose

(mv docker-compose-Linux-x86_64 docker-compose)

给docker-compose添加可执行权限(chmod +x docker-compose)

查看版本(docker-compose -v)

回到root家目录(cd /root)

安装git工具(yum -y install git)

安装vulhub相关文件(git clone GitHub - vulhub/vulhub: Pre-Built Vulnerable Environments Based on Docker-Compose

将压缩包上传到/root目录下,再解压缩(tar -zxvf vulhub.tar.gz)

进入vulhub目录(cd /root/root/vulhub)

在vulhub.org网站上选择要部署的靶场环境,点开(最上面的path为配置文件docker-compose.yml路径)

进入指定目录启动(docker-compose up -d)

十三、docker可视化管理工具portainer

前提:网络连通、docker启动

下载portainer镜像(docker pull portainer/portainer)

创建启动portainer容器(docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/poporiner)

浏览器访问(http://IP:9000

设置管理员密码(长度最少为12位,123456789qwe)

十四、docker镜像加速:

docker配置阿里云镜像加速器-CSDN博客

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

# sudo vim /etc/docker/daemon.json

添加或修改内容:

{

"registry-mirrors": ["https://jn05pqka.mirror.aliyuncs.com"]

}

:wq 保存后退出。

重启服务:

# sudo systemctl daemon-reload

# sudo systemctl restart docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值