# 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 Hub
docker login
# 标记镜像
docker tag [本地镜像名] [用户名]/[仓库名]:[标签]
# 推送镜像
docker push [用户名]/[仓库名]:[标签]

# 批量操作 🛠️

# 打印所有容器 ID
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 官方文档

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

ZJM 微信支付

微信支付

ZJM 支付宝

支付宝