Docker 安装、配置与基础使用教程(入门级)

在当前的软件开发与网络安全领域中,Docker 已成为不可或缺的工具。它通过容器技术,实现了应用的快速部署、隔离运行与环境一致性。本文将从 Docker 的安装、配置到基础使用进行详细讲解,最后会创建一个可以sql注入的网站,适合初学者快速上手。

本次实验所需资料链接:链接地址:https://pan.baidu.com/s/189SFRbP_YYsFi77RkC_4Jw?pwd=6666 提取码: 6666

一、Docker 简介

Docker 是一个开源的容器化平台,可以将应用及其依赖打包到一个轻量级容器中,实现“一次构建,到处运行”。

核心优势:

  • 环境隔离,避免“在我电脑上能运行”的问题
  • 部署快速,秒级启动
  • 资源占用低(相比虚拟机更轻量)

二、Docker 安装(以 Linux 为例)

1. 获取管理员权限并更新软件源

# 切换管理员权限(sudo -i)
sudo su  

# 更新软件包列表
sudo apt update

# 升级已安装的软件包(可选)
sudo apt upgrade
如有需要,可修改 /etc/apt/sources.list 提高下载速度。

备份原文件 (该步骤可以省略)

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑源列表

sudo nano /etc/apt/sources.list
推荐的 Kali 国内镜像源

将下面镜像源替换原来的镜像源

中科大源:

deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

阿里云源(推荐):

deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib

清华源:

deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

更新

sudo apt update

2. 安装 Docker

sudo apt-get install docker.io

3. 启动 Docker 服务

systemctl start docker

4. 设置开机自启动

systemctl enable docker

5. 验证 Docker 是否安装成功

docker -v  //或者doker version

若输出版本号,则说明安装成功。

6. 查看 Docker 服务状态

systemctl status docker

显示 active (running) 即为正常运行。
在这里插入图片描述

三、Docker 优化配置(国内环境推荐)

1. Docker 镜像加速(换源)

首先编辑 Docker 配置文件:

# 在daemon.json中编辑镜像
sudo vim /etc/docker/daemon.json

写入内容(国内镜像源,或者去其他地方找寻镜像源):

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://mirror.ccs.tencentyun.com"
  ]
}

2.保存后 重启 Docker:

sudo systemctl daemon-reexec
sudo systemctl restart docker

四、Docker 基本使用

1. 查看docker镜像

docker images

2. 拉取镜像(以 nginx 为例)

docker pull nginx

3. 运行容器

docker run -d -p 8080:80 nginx:latest

参数说明:
-d:后台运行
-p:端口映射(主机端口:容器端口)

4. 查看容器

# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 只显示容器ID
docker ps -aq

# 查看最新创建的容器
docker ps -l

在这里插入图片描述

5. 进入容器内部

docker exec -it 容器ID bash

6. 挂载主机目录(以nginx为例)

docker run -d -p 8080:80 -v /host/path:/container/path nginx

作用:将主机目录映射到容器,实现数据共享

五、Docker Compose 使用

Docker Compose 用于管理多个容器(非常适合项目部署)。

1. 安装 Docker Compose

# 安装compose
apt-get install docker-compose

# 查看版本
docker compose -v

2. 启动服务

docker-compose up -d

3. 停止服务

docker-compose down

4. 进入容器

docker exec -it 容器ID bash

六、实战:搭建一个简单网站环境(以sql网站为例)

1. 创建sqli_lads文件夹

# 首先在/home/kali文件夹下创建sqli_labs文件夹
sudo mkdir -p /home/kali/sqli_labs 

#进入html文件夹
cd home/kali/sqli_lads
2.将sqli_labs.zip复制到该文件夹下,并解压。
3.创建并修改dockerfile文件

创建dockerfile文件

vim dockerfile
from php:5.6-apache

RUN docker-php-ext-install mysql mysqli pdo_mysql

copy ./sqli_labs/ /var/www/html

RUN chown -R www-data:www-data /var/www/html

WORKDIR /var/www/html

EXPOSE 80

4.创建并修改docker-compose.yml

示例(Web + MySQL):
创建docker-compose.yml

vim docker-compose.yml
version: '3'

services:

  web:
    build: .
    ports:
      - "8080:80"
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: security
    ports:
      - "3306:3306"

5. 启动项目

docker-compose up -d

6.浏览器访问:

http://localhost:8080

在这里插入图片描述

点击setup,连接数据库,连接成功后,就可以使用sql网站了
在这里插入图片描述

若页面正常显示,则部署成功。

七、总结

通过本文,你已经掌握了:

  • Docker 的基本安装与配置
  • 常用命令(镜像、容器管理)
  • Docker Compose 的使用
  • 简单项目部署流程

Docker 在 开发、运维、安全测试 等领域应用广泛,建议进一步学习:

  • Dockerfile 编写
  • 容器网络
  • Kubernetes(进阶)

最后,希望本文可以帮助到你。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐