第10课:Docker 常用命令大全

【腾讯云】语音识别准确率高,支持多语种,多场景,限时特惠,最低14.9元起

推广

【腾讯云】语音识别准确率高,支持多语种,多场景,限时特惠,最低14.9元起

Docker 常用命令大全

本课为Docker常用命令速查手册,按功能分类整理,方便日常开发和运维工作中快速查找。

1. Docker 基础信息命令

1.1 查看Docker版本和信息

# 查看Docker版本
docker --version
docker version

# 查看Docker系统信息
docker info

# 查看Docker帮助
docker --help
docker COMMAND --help

2. 镜像相关命令

2.1 镜像搜索和下载

# 搜索镜像
docker search nginx
docker search --limit 5 mysql

# 拉取镜像
docker pull nginx
docker pull nginx:1.20
docker pull registry.cn-hangzhou.aliyuncs.com/namespace/image:tag

# 查看本地镜像
docker images
docker image ls
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"

2.2 镜像管理

# 查看镜像详细信息
docker inspect nginx:latest
docker image inspect nginx:latest

# 查看镜像历史
docker history nginx:latest

# 给镜像打标签
docker tag nginx:latest mynginx:v1.0

# 删除镜像
docker rmi nginx:latest
docker image rm nginx:latest
docker rmi $(docker images -q)  # 删除所有镜像

# 清理无用镜像
docker image prune
docker image prune -a  # 删除所有未使用的镜像

2.3 镜像导入导出

# 导出镜像
docker save nginx:latest > nginx.tar
docker save -o nginx.tar nginx:latest

# 导入镜像
docker load < nginx.tar
docker load -i nginx.tar

# 从容器创建镜像
docker commit container_name new_image:tag

3. 容器相关命令

3.1 容器运行

# 运行容器
docker run nginx
docker run -d nginx                    # 后台运行
docker run -it ubuntu bash            # 交互式运行
docker run --name mynginx nginx       # 指定容器名称
docker run -p 8080:80 nginx          # 端口映射
docker run -v /host/path:/container/path nginx  # 挂载数据卷

# 常用运行参数
docker run -d \
  --name mynginx \
  -p 80:80 \
  -v /data:/usr/share/nginx/html \
  --restart always \
  --memory 512m \
  --cpus 0.5 \
  nginx:latest

3.2 容器查看

# 查看运行中的容器
docker ps
docker container ls

# 查看所有容器(包括停止的)
docker ps -a
docker container ls -a

# 查看容器详细信息
docker inspect container_name
docker container inspect container_name

# 查看容器日志
docker logs container_name
docker logs -f container_name          # 实时查看日志
docker logs --tail 100 container_name  # 查看最后100行日志

3.3 容器操作

# 启动/停止/重启容器
docker start container_name
docker stop container_name
docker restart container_name

# 暂停/恢复容器
docker pause container_name
docker unpause container_name

# 进入容器
docker exec -it container_name bash
docker exec -it container_name sh
docker attach container_name

# 从容器复制文件
docker cp container_name:/path/to/file /host/path
docker cp /host/path container_name:/path/to/file

# 查看容器资源使用情况
docker stats
docker stats container_name

3.4 容器清理

# 删除容器
docker rm container_name
docker container rm container_name
docker rm -f container_name            # 强制删除运行中的容器

# 批量删除容器
docker rm $(docker ps -aq)             # 删除所有容器
docker container prune                 # 删除所有停止的容器

4. 网络相关命令

# 查看网络
docker network ls

# 创建网络
docker network create mynetwork
docker network create --driver bridge mynetwork

# 查看网络详情
docker network inspect mynetwork

# 连接容器到网络
docker network connect mynetwork container_name

# 断开容器网络连接
docker network disconnect mynetwork container_name

# 删除网络
docker network rm mynetwork
docker network prune                   # 删除未使用的网络

5. 数据卷相关命令

# 查看数据卷
docker volume ls

# 创建数据卷
docker volume create myvolume

# 查看数据卷详情
docker volume inspect myvolume

# 删除数据卷
docker volume rm myvolume
docker volume prune                    # 删除未使用的数据卷

6. Docker Compose 命令

# 启动服务
docker-compose up
docker-compose up -d                   # 后台启动

# 停止服务
docker-compose down
docker-compose stop

# 查看服务状态
docker-compose ps

# 查看服务日志
docker-compose logs
docker-compose logs service_name

# 重启服务
docker-compose restart
docker-compose restart service_name

# 构建镜像
docker-compose build
docker-compose build service_name

# 拉取镜像
docker-compose pull

7. Dockerfile 构建命令

# 构建镜像
docker build .
docker build -t myimage:tag .
docker build -f Dockerfile.prod .

# 构建时传递参数
docker build --build-arg ARG_NAME=value .

# 不使用缓存构建
docker build --no-cache .

8. 系统清理命令

# 清理系统
docker system df                       # 查看磁盘使用情况
docker system prune                    # 清理未使用的资源
docker system prune -a                 # 清理所有未使用的资源

# 分别清理
docker container prune                 # 清理停止的容器
docker image prune                     # 清理未使用的镜像
docker image prune -a                  # 清理所有未使用的镜像
docker volume prune                    # 清理未使用的数据卷
docker network prune                   # 清理未使用的网络

9. 监控和调试命令

# 查看容器进程
docker top container_name

# 查看容器资源使用
docker stats container_name

# 查看容器端口映射
docker port container_name

# 查看容器文件系统变化
docker diff container_name

# 导出容器
docker export container_name > container.tar

# 导入容器
docker import container.tar new_image:tag

10. 常用组合命令

# 停止并删除所有容器
docker stop $(docker ps -aq) && docker rm $(docker ps -aq)

# 删除所有镜像
docker rmi $(docker images -q)

# 删除悬空镜像
docker rmi $(docker images -f "dangling=true" -q)

# 查看容器IP地址
docker inspect container_name | grep IPAddress

# 进入容器并查看环境变量
docker exec -it container_name env

# 实时查看容器日志
docker logs -f --tail 100 container_name

11. 快捷别名设置

~/.bashrc~/.zshrc 中添加常用别名:

# Docker 别名
alias d='docker'
alias dc='docker-compose'
alias dps='docker ps'
alias dpsa='docker ps -a'
alias di='docker images'
alias dlog='docker logs -f'
alias dexec='docker exec -it'
alias dstop='docker stop $(docker ps -aq)'
alias drm='docker rm $(docker ps -aq)'
alias drmi='docker rmi $(docker images -q)'
alias dprune='docker system prune -a'

小结

本课整理了Docker的常用命令,包括:

  1. 基础信息命令 - 查看版本、系统信息
  2. 镜像管理 - 搜索、下载、删除、导入导出镜像
  3. 容器操作 - 运行、查看、操作、清理容器
  4. 网络管理 - 创建、查看、删除网络
  5. 数据卷管理 - 创建、查看、删除数据卷
  6. Docker Compose - 多容器应用管理
  7. 系统清理 - 清理未使用的资源
  8. 监控调试 - 查看容器状态和资源使用

建议将常用命令制作成速查卡片,提高日常工作效率。随着使用经验的积累,你会发现这些命令将成为你的得力工具。

至此,Docker教程全部完成!希望这个系列教程能帮助你掌握Docker容器技术,在实际项目中发挥作用。

Vue3 + TypeScript 企业级项目实战

课程推荐

Vue3 + TypeScript 企业级项目实战
Python 全栈开发工程师培训

热门课程

Python 全栈开发工程师培训

📚 文章对你有帮助?请关注我的公众号,万分感谢!

获取更多优质技术文章,第一时间掌握最新技术动态

关注公众号

关注公众号

第一时间获取最新技术文章

添加微信

添加微信

技术交流 · 问题答疑 · 学习指导

评论讨论

欢迎留下你的想法和建议