Ubuntu docker配置sqli-labs
- apt-get 换源
- 安装docker
- 拉取sqli-labs镜像
apt-get 换源
https://blog.csdn.net/qq_37208650/article/details/106677590
安装docker
- 安装需要的包
sudo apt install apt-transport-https ca-certificates software-properties-common curl
- 添加 GPG 密钥,并添加 Docker-ce 软件源,
# 这里以中国科技大学的 Docker-ce 源为例
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"
- 添加成功后更新软件包缓存
sudo apt update
- 安装 Docker-ce
sudo apt install docker-ce
- 设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)
sudo systemctl enable docker
sudo systemctl start docker
- 配置阿里镜像加速器
https://cr.console.aliyun.com/
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://f9402cxf.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 测试运行
sudo docker run hello-world
拉取sqli-labs镜像
- 搜索镜像
docker search sqli-labs #搜索镜像
- 选择了acgpiano
docker pull acgpiano/sqli-labs #选择了acgpiano
#大写代表的是预定义可替换
sudo docker run -dt --name NAME -p 8081:80 --rm acgpiano/sqli-labs
#run 创建一个新的容器并运行一个命令
#-d 表示后台运行,返回容器id
#-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
#--name NAME 将容器命名为NAME
#-p PORT:80 将acgpiano/sqli-labs的80端口映射到本地的PORT端口
- 结果
# 进入http://IP:PORT 可查看
http://localhost:8081
- 进入sqli-labs的终端
docker ps#查看正在运行的容器
docker ps -a#查看所有容器
docker exec -it ID /bin/bash
#exec 在运行的容器中执行命令
#-t 分配一个伪终端
#-i 即使没有附加也保持STDIN 打开(不懂)