知识就是力量——Docker 快速入门
Docker 快速入门
- Docker 快速入门指南
- 什么是 Docker?
- 核心概念
- 安装 Docker
- Ubuntu
- Windows/macOS
- 基本命令
- 镜像操作
- 容器操作
- 实战示例
- 1. 运行 Nginx 容器
- 2. 运行 MySQL 容器
- 3. 创建自定义镜像
- Docker Compose 入门
- 常用参数说明
- 实用技巧
- 清理资源
- 查看资源使用情况
- 下一步学习建议
Docker 快速入门指南
什么是 Docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包应用及其依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器或 Windows 机器上。
核心概念
- 镜像(Image):只读模板,用于创建容器
- 容器(Container):镜像的运行实例
- 仓库(Registry):存放镜像的地方,如 Docker Hub
安装 Docker
Ubuntu
# 更新包索引
sudo apt update# 安装依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -# 添加 Docker 仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"# 安装 Docker
sudo apt update
sudo apt install docker-ce# 验证安装
sudo docker --version
Windows/macOS
从 Docker 官网 下载 Docker Desktop 安装。
基本命令
镜像操作
# 搜索镜像
docker search nginx# 拉取镜像
docker pull nginx:latest# 列出本地镜像
docker images# 删除镜像
docker rmi <image_id># 构建镜像
docker build -t myapp:1.0 .
容器操作
# 运行容器
docker run -d -p 80:80 --name my-nginx nginx# 列出运行中的容器
docker ps# 列出所有容器
docker ps -a# 停止容器
docker stop <container_id># 启动已停止的容器
docker start <container_id># 进入容器
docker exec -it <container_id> /bin/bash# 查看容器日志
docker logs <container_id># 删除容器
docker rm <container_id>
实战示例
1. 运行 Nginx 容器
# 运行 Nginx 容器
docker run -d -p 8080:80 --name my-nginx nginx# 访问 http://localhost:8080
2. 运行 MySQL 容器
# 运行 MySQL 容器
docker run -d \--name my-mysql \-e MYSQL_ROOT_PASSWORD=123456 \-e MYSQL_DATABASE=testdb \-p 3306:3306 \mysql:8.0# 连接 MySQL
docker exec -it my-mysql mysql -uroot -p123456
3. 创建自定义镜像
创建 Dockerfile
:
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
创建 index.html
:
<!DOCTYPE html>
<html>
<head><title>My Docker App</title>
</head>
<body><h1>Hello from Docker!</h1>
</body>
</html>
构建并运行:
# 构建镜像
docker build -t my-webapp .# 运行容器
docker run -d -p 8080:80 my-webapp
Docker Compose 入门
创建 docker-compose.yml
:
version: '3.8'
services:web:image: nginx:alpineports:- "8080:80"volumes:- ./html:/usr/share/nginx/htmldb:image: mysql:8.0environment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: myappports:- "3306:3306"
使用命令:
# 启动服务
docker-compose up -d# 停止服务
docker-compose down# 查看服务状态
docker-compose ps
常用参数说明
-d
:后台运行-p
:端口映射(主机端口:容器端口)-v
:卷挂载(主机目录:容器目录)-e
:设置环境变量--name
:指定容器名称-it
:交互模式
实用技巧
清理资源
# 停止所有容器
docker stop $(docker ps -aq)# 删除所有容器
docker rm $(docker ps -aq)# 删除所有镜像
docker rmi $(docker images -q)# 清理无用资源
docker system prune
查看资源使用情况
docker stats
docker system df
下一步学习建议
- 学习 Dockerfile 最佳实践
- 掌握 Docker 网络配置
- 了解 Docker 数据卷管理
- 学习 Docker Swarm 或 Kubernetes
- 实践 CI/CD 流水线集成
这个快速入门指南涵盖了 Docker 的基础知识和常用操作,帮助你快速开始使用 Docker。建议在实际项目中多加练习,逐步掌握更多高级功能。