工具使用——docker使用
0X01 docker介绍:
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
0X02 docker优点:
灵活:即使是复杂的应用程序也可封装。
轻量级:容器利用并共享主机内核。
便携式:您可以在本地构建,部署到云上并在任何地方运行。
可扩展性:您可以增加和自动分发容器副本。
可堆叠:您可以垂直堆叠服务并及时并及时堆叠服务。
0X03 docker安装:
安装docker(kali-linux为例):
apt-get install docker docker-compose
0X04 docker常用参数:
--name 容器命名 -v 挂载主机目录到容器目录(冒号分隔)。 -d 容器启动后进入后台(守护态)。 -p 将 container 内的端口映射成host 的端口。 -P 随机分配端口号。 -t 分配伪终端(pseudo-tty)绑定到容器的标准输入上。 -i 让标准输入保持打开。 --rm 运行结束删除容器。 --restart=always 启动docker时自动启动容器。
0X05 docker常用命令:
docker ps 查看正在运行的容器。 docker ps -a 查看所有容器(包括已停止的)。 docker start 容器名/容器ID 启动已停止的镜像。 docker restart 容器名/容器ID 重启运行中的镜像。 docker stop 容器名/容器ID 停止运行中的镜像。 docker images 查看所有镜像。 docker rm 容器名/容器ID 删除容器,加 –f 表示强制删除。 docker rmi 镜像名/镜像ID 删除镜像,加 –f 表示强制删除。 docker search 查找官方仓库中的镜像。 docker pull 下载镜像。 docker build 创建镜像docker build -t myrepo/myapp /tmp/test1/。 docker tag imageName:tag 更改镜像名和版本号。 docker export 导出镜像。 docker export imageId > ubuntu.tar docker import 导入镜像。 docker import ubuntu.tar ubuntu:1.8 丢弃所有的历史记录和元数据信息。 docker load 同 docker import 但保存所有的历史记录和元数据信息。 docker login 登录。 docker logout 登出。 docker pause 容器名/容器ID 暂停。 docker unpause容器名/容器ID 从暂停继续。 docker commit 容器名/容器ID 将容器生成新的镜像。 docker kill容器名/容器ID 强行停止容器。 docker rename容器名/容器ID 重命名容器。 docker push 镜像名/镜像ID 把镜像推到远程仓库便于使用。
0X06 docker使用案例:
使用docker部署Hfish蜜罐:
启动docker:
service docker start
搜索镜像:
docker search hfish
下载镜像(下载第一个):
docker pull imdevops/hfish
部署Hfish:
docker run -d --name hfish -p 21:21 -p 22:22 -p 23:23 -p 69:69 -p 3306:3306 -p 5900:5900 -p 6379:6379 -p 8080:8080 -p 8081:8081 -p 8989:8989 -p 9000:9000 -p 9001:9001 -p 9200:9200 -p 11211:11211 --restart=always imdevops/hfish:latest
访问蜜罐:
htpp://your-ip:9001
登录蜜罐(默认用户名:admin,密码:admin):