以下是精简版 Docker 速通教程,涵盖安装、镜像管理、容器操作、网络存储等核心操作,10分钟快速上手!
1. 安装 Docker
Ubuntu/Debian
sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker
sudo usermod -aG docker $USER # 当前用户加入docker组(需重新登录)
CentOS
sudo yum install -y docker
sudo systemctl enable --now docker
验证安装
docker --version
docker run hello-world # 测试运行
2. 镜像管理
操作 | 命令 |
---|---|
拉取镜像 | docker pull nginx:latest |
查看本地镜像 | docker images |
删除镜像 | docker rmi <镜像ID> |
构建镜像(需Dockerfile) | docker build -t my_image:1.0 . |
导出镜像 | docker save -o nginx.tar nginx:latest |
导入镜像 | docker load -i nginx.tar |
3. 容器操作
基础命令
操作 | 命令 |
---|---|
启动容器 | docker run -d --name my_nginx -p 80:80 nginx |
查看运行中容器 | docker ps |
查看所有容器 | docker ps -a |
停止容器 | docker stop my_nginx |
启动已停止容器 | docker start my_nginx |
删除容器 | docker rm my_nginx |
强制删除运行中容器 | docker rm -f my_nginx |
进入容器 | docker exec -it my_nginx /bin/bash |
查看日志 | docker logs -f my_nginx |
复制文件到容器 | docker cp file.txt my_nginx:/path/ |
常用参数
-d
:后台运行(守护模式)-p 主机端口:容器端口
:端口映射-v /host/path:/container/path
:目录挂载--restart=always
:容器崩溃自动重启
4. 网络管理
操作 | 命令 |
---|---|
查看网络 | docker network ls |
创建网络 | docker network create my_net |
连接容器到网络 | docker network connect my_net my_nginx |
指定容器网络 | docker run --network=my_net nginx |
5. 数据卷管理
操作 | 命令 |
---|---|
创建数据卷 | docker volume create my_vol |
查看数据卷 | docker volume ls |
挂载数据卷 | docker run -v my_vol:/app nginx |
绑定主机目录 | docker run -v /host/path:/container/path nginx |
6. 常用组合命令
# 一键清理所有停止的容器和未使用的镜像
docker system prune -a
# 批量停止所有容器
docker stop $(docker ps -q)
# 查看容器资源占用
docker stats
# 修改容器配置后提交为新镜像
docker commit my_nginx my_nginx:v2
7. 实战示例
示例1:部署Nginx并挂载网页目录
docker run -d --name web \
-p 8080:80 \
-v $(pwd)/html:/usr/share/nginx/html \
nginx
示例2:运行MySQL并持久化数据
docker run -d --name mysql_db \
-p 3306:3306 \
-v mysql_data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7
8. 可视化工具
安装 Portainer(Docker图形化管理):
docker run -d -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer
访问 http://localhost:9000
初始化管理界面。
附:速查表
!https://dockercheatsheet.painlessdocker.com/assets/img/docker-cheat-sheet.png
掌握以上命令即可应对90%日常场景!如需更复杂功能(如Docker Compose、Swarm集群),可进一步扩展学习。