# Docker 基础命令速查表 📚
# 镜像管理 🔄
| |
| docker search [镜像名] |
| |
| |
| docker pull [镜像名]:[标签] |
| |
| |
| docker images |
| |
| |
| docker rmi [镜像ID/镜像名] |
# 容器管理 🎮
| |
| docker run [选项] 镜像名 |
| |
| |
| docker ps |
| |
| |
| docker ps -a |
| |
| |
| docker stop [容器ID/容器名] |
| |
| |
| docker start [容器ID/容器名] |
| |
| |
| docker restart [容器ID/容器名] |
| |
| |
| docker stats |
| |
| |
| docker logs [容器ID/容器名] |
| |
| |
| docker exec -it [容器ID/容器名] /bin/bash |
| |
| |
| docker rm [容器ID/容器名] |
# 容器运行示例 🚀
| |
| docker run -d -p 80:80 --name mynginx nginx |
| |
| |
| docker run -d -p 80:80 --name mynginx -v /data/nginx/html:/usr/share/nginx/html nginx |
# 镜像导出与导入 📦
| |
| docker commit [容器ID] [新镜像名]:[标签] |
| |
| |
| docker save [镜像名] > [文件名].tar |
| |
| |
| docker load < [文件名].tar |
# Docker Hub 操作 🌐
| |
| docker login |
| |
| |
| docker tag [本地镜像名] [用户名]/[仓库名]:[标签] |
| |
| |
| docker push [用户名]/[仓库名]:[标签] |
# 批量操作 🛠️
| |
| docker ps -aq |
| |
| |
| docker rm -f $(docker ps -aq) |
# Docker 高级特性 🎯
# 数据持久化 💾
# 目录挂载
| |
| docker volume inspect [卷名] |
| |
| |
| docker run -d -p 8008:80 --name mynginx_local -v [卷名]:[容器内路径] [镜像名] |
# 卷映射位置
- Windows WSL2:
\\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes
- WSL 本地:
\\wsl.localhost\docker-desktop
# 网络配置 🌍
| |
| docker network create [网络名] |
| |
| |
| docker run -d -p 8008:80 --name app1 --network [网络名] --ip [IP地址] [镜像名] |
| |
| |
| docker network inspect [网络名] |
# 实战示例 🎮
# Redis 主从配置
| |
| docker run -d -p 6377:6379 \ |
| -v /path/to/redis/data:/bitnami/redis/data \ |
| -e REDIS_REPLICATION_MODE=master \ |
| -e REDIS_PASSWORD=123456 \ |
| -e REDIS_EXTRA_FLAGS="--bind 0.0.0.0" \ |
| --network mynet \ |
| --name redis01 \ |
| bitnami/redis |
| |
| |
| docker run -d -p 6378:6379 \ |
| -v /path/to/redis/data:/bitnami/redis/data \ |
| -e REDIS_REPLICATION_MODE=slave \ |
| -e REDIS_MASTER_HOST=redis01 \ |
| -e REDIS_MASTER_PORT_NUMBER=6379 \ |
| -e REDIS_MASTER_PASSWORD=123456 \ |
| -e REDIS_PASSWORD=123456 \ |
| --network mynet \ |
| --name redis02 \ |
| bitnami/redis |
# MySQL 配置
| docker run -d -p 3307:3306 \ |
| -v /path/to/mysql/conf:/etc/mysql/conf.d \ |
| -v /path/to/mysql/data:/var/lib/mysql \ |
| -e MYSQL_ROOT_PASSWORD=123456 \ |
| --name mymysql \ |
| mysql:8.0.37-debian |
# Docker Compose 🎭
| |
| docker compose up -d |
| |
| |
| docker compose down |
| |
| |
| docker compose start [服务名] |
| |
| |
| docker compose stop [服务名] |
| |
| |
| docker compose scale [服务名]=[数量] |
| |
| |
| docker compose -f docker-compose.yml up -d |
| |
| |
| docker compose -f compose.yml down --rmi all -v |
# Dockerfile 编写指南 📝
Dockerfile 是构建 Docker 镜像的配置文件,主要指令包括:
- FROM:基础镜像
- WORKDIR:工作目录
- COPY/ADD:复制文件
- RUN:执行命令
- CMD/ENTRYPOINT:容器启动命令
- ENV:环境变量
- EXPOSE:暴露端口
更多详细信息请参考:Dockerfile 官方文档