一、Docker 介绍
Docker 是容器化工具,把应用、依赖、环境打包成镜像,一次打包到处运行,隔离环境、部署简单。 分为三部分:
二、各系统安装 Docker
1. Ubuntu / Debian(Linux 主流)
1)卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc
2)安装依赖
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
3)添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4)添加软件源
echo "deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5)安装 Docker Engine + Compose
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
6)免 sudo 运行 docker(必做)
sudo usermod -aG docker $USER
# 生效:重新登录服务器/终端
newgrp docker
7)验证安装
docker -v
docker compose version
# 测试运行容器
docker run hello-world
2. CentOS / Rocky Linux / RHEL
# 卸载旧版
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装源工具
yum install -y yum-utils
# 添加docker源
yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 启动开机自启
systemctl start docker
systemctl enable docker
# 免sudo
usermod -aG docker $USER
newgrp docker
# 验证
docker run hello-world
3. Windows 系统(Win10/11 专业版 / 家庭版)
方案:Docker Desktop(图形化,自带 compose)
wsl –install
4. MacOS
三、Docker 核心基础概念
四、Docker 高频常用命令
1. 镜像操作
# 拉取镜像
docker pull nginx
# 查看本地镜像
docker images
# 删除镜像
docker rmi 镜像ID/镜像名
# 搜索镜像
docker search mysql
# 导出镜像
docker save -o nginx.tar nginx
# 导入镜像
docker load -i nginx.tar
2. 容器运行(重点)
# 最简运行nginx
docker run nginx
# 常用完整参数示例(端口映射+后台运行+命名+数据卷)
# -d 后台运行
# –name 容器名
# -p 主机端口:容器端口 端口映射
# -v 主机目录:容器目录 数据持久化
# –restart always 开机自启
docker run -d –name mynginx -p 8080:80 -v /data/nginx/html:/usr/share/nginx/html –restart always nginx
3. 容器管理
# 查看运行中容器
docker ps
# 查看所有容器(含停止)
docker ps -a
# 停止容器
docker stop 容器名/ID
# 重启容器
docker restart 容器名/ID
# 删除停止的容器
docker rm 容器名/ID
# 进入容器终端
docker exec -it mynginx /bin/bash
# 查看容器日志
docker logs mynginx
# 实时日志
docker logs -f mynginx
4. 数据卷 Volume
# 创建数据卷
docker volume create mysql-data
# 挂载运行
docker run -d -v mysql-data:/var/lib/mysql mysql
# 查看所有卷
docker volume ls
# 删除无用卷
docker volume prune
5. 镜像构建 Dockerfile
FROM nginx
COPY index.html /usr/share/nginx/html/
docker build -t my-nginx:v1 .
docker run -d -p 80:80 my-nginx:v1
五、Docker Compose 多容器编排(开发 / 部署必备)
适合同时启动 mysql + redis + nginx + 项目等多个容器
1. 编写 docker-compose.yml
示例:nginx + mysql
version: "3.8"
services:
nginx:
image: nginx
ports:
– "8080:80"
volumes:
– ./html:/usr/share/nginx/html
restart: always
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: testdb
volumes:
– mysql-data:/var/lib/mysql
ports:
– "3306:3306"
volumes:
mysql-data:
2. Compose 命令
# 后台启动所有服务
docker compose up -d
# 查看运行容器
docker compose ps
# 查看日志
docker compose logs -f
# 停止服务(不删除容器数据)
docker compose stop
# 停止并删除容器(数据卷保留)
docker compose down
# 删除容器+数据卷
docker compose down -v
# 重启单个服务
docker compose restart mysql
六、Docker 服务管理(Linux)
# 启动docker服务
systemctl start docker
# 停止
systemctl stop docker
# 开机自启
systemctl enable docker
# 查看状态
systemctl status docker
# 重启docker
systemctl restart docker


