📁 "运维" 分类下的文章
-
Docker 快速入门指南
📅 2025-09-13 | 📝 2 分钟阅读
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 # 删除未使用的卷
- 镜像(Image):一个只读模板,包含运行应用所需的一切(如