目录一、Docker 核心概念二、最常用的 Docker 命令按场景查场景一常用参数解释场景二、安装 Docker场景三镜像管理下载、查看、删除场景四容器管理运行、查看、启停三、常用的几个 Docker 完整例子直接抄1. 运行一个 MySQL 容器数据库2. 运行一个 Tomcat 容器Java Web3. 运行一个 Nginx 容器前端/静态页面四、Docker 一条龙救急组合五、容易搞混的两个点已把最常用的命令按场景分类遇到问题直接对着抄就行。一、Docker 核心概念概念白话解释生活例子镜像Image安装包/模板像 Windows 的ISO 安装光盘不能运行只能用来装系统容器Container运行起来的实例用光盘装好的正在运行的 Windows 系统可以用可以关机重启仓库Registry存放镜像的网站像应用商店里面全是别人做好的安装包您随时下载二、最常用的 Docker 命令按场景查场景一常用参数解释参数意思为啥要用-d后台运行后台模式不占着屏幕让容器在后台悄悄跑--name给容器起个名字方便后续启停不用记那一串乱码ID-p 8080:80端口映射主机端口:容器端口主机8080映射到容器80访问主机8080就能进容器-v 主机目录:容器目录数据挂载持久化容器删了数据还在重要-e设置环境变量比如设MySQL的密码场景二、安装 Docker# 一键安装AlmaLinux/CentOS sudo yum install -y docker-ce docker-ce-cli containerd.io # 启动 Docker sudo systemctl start docker # 开机自启 sudo systemctl enable docker # 验证安装成功 sudo docker --version场景三镜像管理下载、查看、删除想干什么敲这个命令从应用商店下载镜像sudo docker pull 镜像名:版本号例sudo docker pull mysql:8.0查看本地有哪些镜像sudo docker images删除不要的镜像sudo docker rmi 镜像名:版本号搜索应用商店里有啥镜像sudo docker search mysql场景四容器管理运行、查看、启停想干什么敲这个命令运行一个容器最常用sudo docker run -d --name 起个名字 -p 主机端口:容器端口 镜像名例sudo docker run -d --name mymysql -p 3306:3306 mysql:8.0查看正在运行的容器sudo docker ps查看所有容器含已停止的sudo docker ps -a停止容器sudo docker stop 容器名/ID启动已存在的容器sudo docker start 容器名/ID重启容器sudo docker restart 容器名/ID删除容器sudo docker rm 容器名/ID进入容器内部调试用sudo docker exec -it 容器名 /bin/bash三、常用的几个 Docker 完整例子直接抄1. 运行一个 MySQL 容器数据库sudo docker run -d \ --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD123456 \ -v /data/mysql:/var/lib/mysql \ mysql:8.0以后用mysql -u root -p连密码是123456数据存到了主机的/data/mysql容器删了数据不丢。2. 运行一个 Tomcat 容器Java Websudo docker run -d \ --name tomcat9 \ -p 8080:8080 \ -v /data/webapps:/usr/local/tomcat/webapps \ tomcat:9.0把您自己的 war 包放到主机的/data/webapps目录下Tomcat 会自动部署。3. 运行一个 Nginx 容器前端/静态页面sudo docker run -d \ --name nginx \ -p 80:80 \ -v /data/html:/usr/share/nginx/html \ nginx把您的网页文件放到主机的/data/html访问服务器IP就能看到页面。四、Docker 一条龙救急组合遇到问题 → 按这个顺序查1. 我的容器还在跑吗 → sudo docker ps 2. 如果不在启动它 → sudo docker start 容器名 3. 如果启动失败看日志 → sudo docker logs 容器名 --tail 50 4. 如果日志看不懂重启试试 → sudo docker restart 容器名 5. 还不行删了重建 → sudo docker rm -f 容器名 sudo docker run -d ...复制之前的命令五、容易搞混的两个点问题答案docker images和docker ps分不清images看镜像安装包ps看容器运行起来的程序docker start和docker run有啥区别run 新建并运行第一次用start 启动一个已经创建好的容器第二次用