Docker 快速入门指南.md
$
cat docker 快速入门指南.md
Docker 快速入门指南
先了解 Docker
Docker 是一个开源的容器化平台,它允许你将应用程序及其依赖(如库、配置、环境变量)打包成一个轻量级、可移植的“容器”,并在任何支持 Docker 的环境中运行。
传统部署中,我们常遇到:“在我机器上能跑!”的问题。
而 Docker 通过隔离环境,彻底解决了“开发环境 vs 生产环境不一致”的痛点。
核心概念
- 镜像(Image):一个只读模板,包含运行应用所需的一切(如
nginx:latest
)。 - 容器(Container):镜像的运行实例,可以启动、停止、删除(如一个正在运行的 Nginx 服务)。
- Dockerfile:一个文本文件,定义如何构建镜像(类似“配方”)。
- Docker Compose:用于定义和运行多容器应用(如 Web + DB + Cache)。
- Registry:镜像仓库,如 Docker Hub,可上传/下载镜像。
为什么使用 Docker?
- ✅ 环境一致性:一次构建,到处运行
- ✅ 快速部署:秒级启动容器
- ✅ 资源高效:比虚拟机更轻量,共享宿主机内核
- ✅ 微服务友好:每个服务一个容器,独立部署
- ✅ CI/CD 集成:与 Jenkins、GitHub Actions 等无缝协作
Docker 已成为现代云原生开发的基础设施标准。
常用 Docker 命令合集(实战速查)
# 1. 镜像操作
docker images # 查看本地所有镜像
docker pull nginx:latest # 从 Docker Hub 拉取镜像
docker build -t myapp:1.0 . # 使用当前目录 Dockerfile 构建镜像
docker rmi myapp:1.0 # 删除指定镜像
docker rmi $(docker images -q) # 删除所有本地镜像(慎用!)
# 2. 容器操作
docker run -d --name web -p 8080:80 nginx:latest # 启动容器(后台模式,端口映射)
docker run -it ubuntu:20.04 /bin/bash # 启动并进入容器(交互模式)
docker stop web # 停止容器
docker start web # 启动已停止的容器
docker restart web # 重启容器
docker rm web # 删除容器
docker rm $(docker ps -aq) # 删除所有容器(慎用!)
# 3. 查看状态
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器(包括已停止)
docker logs web # 查看容器日志
docker logs -f web # 实时跟踪日志(类似 tail -f)
docker exec -it web /bin/bash # 进入正在运行的容器
docker inspect web # 查看容器详细信息(IP、挂载等)
# 4. 数据卷(持久化数据)
docker volume create app-data # 创建命名卷
docker run -d -v app-data:/app/data myapp:1.0 # 挂载卷到容器
docker volume ls # 列出所有卷
docker volume rm app-data # 删除卷
# 5. 网络
docker network create app-net # 创建自定义网络
docker run -d --network app-net --name db mongo # 容器加入网络
docker network ls # 查看网络
docker network inspect app-net # 查看网络详情
# 6. Docker Compose(多容器应用)
# 创建 docker-compose.yml 后使用:
docker-compose up -d # 启动所有服务(后台)
docker-compose down # 停止并删除所有服务
docker-compose logs -f # 查看所有服务日志
docker-compose build # 重新构建服务镜像
# 7. 清理资源(释放磁盘空间)
docker system prune # 清理未使用的容器、网络、镜像、构建缓存
docker system prune -a # 清理所有未使用的资源(更彻底)
docker volume prune # 删除未使用的卷