安装
启动
1 | systemctl start docker |
开机自启
1 | systemctl enable docker |
常用命令
镜像相关操作
搜索镜像
1 | docker search 镜像名 |
拉取镜像
1 | docker pull 镜像名 |
查看所有镜像
1 | docker images |

运行镜像
1 | docker run -d -p 本机端口:容器端口 镜像名称 |
参数解释:
-d 镜像在后台运行
-p 指定本机与容器内部交互的端口 -P则是随机开放一个端口与容器内部ID映射
也就是将后面的acgpiano/sqli-labs的80端口映射到前面的主机某一端口
例:把本机的8801端口映射到容器的8801端口,事实证明sqli-labs容器的端口必须是80,不然会失败

请注意这张图片中的容器端口8801是错误的
但是会报错,是因为没有开启ipv4转发
进入配置文件,修改net.ipv4.ip_forward=1

重启服务并查看修改是否成功

还要记得把刚刚运行镜像的容器删除,不然会有容器已存在的报错

成功访问
容器的相关操作
查看正在运行的容器
1 | docker ps |

进入容器内部
1 | docker exec -it 容器id bash/sh |


退出容器 exit
停止容器
1 | docker stop 容器id |
删除容器
1 | docker rm 容器id |
删除镜像
1 | docker rmi 镜像id |
删除容器和镜像时需要注意的是:
因为是镜像启动后会产生容器,要删除镜像的话必须先删除容器