镜像管理
| 命令 |
作用 |
| docker images |
列出本地所有镜像 |
| docker pull <镜像名>:<标签> |
从 Docker Hub 拉取镜像 |
| docker search <关键词> |
搜索 Docker Hub 上的镜像 |
| docker rmi <镜像ID> |
删除本地镜像(-f 强制删除) |
| docker build -t <镜像名> . |
根据 Dockerfile 构建镜像 |
| docker tag <源镜像> <新镜像> |
给镜像打标签 |
| docker save -o <文件名>.tar <镜像> |
将镜像保存为 tar 文件 |
| docker load -i <文件名>.tar |
从 tar 文件加载镜像 |
容器管理
| 命令 |
作用 |
| docker ps |
列出运行中的容器(-a 显示所有) |
| docker run [选项] <镜像> |
创建并启动容器 |
| docker start <容器> |
启动已停止的容器 |
| docker stop <容器> |
停止运行中的容器 |
| docker restart <容器> |
重启容器 |
| docker rm <容器> |
删除容器(-f 强制删除,-v 删除卷) |
| docker exec -it <容器> /bin/bash |
进入运行中的容器 |
| docker logs <容器> |
查看容器日志(-f 实时查看) |
| docker inspect <容器> |
查看容器详细信息 |
| docker cp <源路径> <目标路径> |
在容器和主机间复制文件 |
| docker rename <旧名> <新名> |
重命名容器 |
| docker pause/unpause <容器> |
暂停/恢复容器进程 |
另外,docker run 常用选项:
-d # 后台运行
--name <名称> # 指定容器名称
-p 主机端口:容器端口 # 端口映射
-v 主机路径:容器路径 # 挂载数据卷
-e KEY=VALUE # 设置环境变量
--network <网络> # 指定网络
--restart=always # 自动重启
-it # 交互模式
资源监控
| 命令 |
作用 |
| docker stats |
实时显示容器资源使用情况 |
| docker top <容器> |
查看容器内进程 |
| docker system df |
查看 Docker 磁盘使用情况 |
| docker system prune |
清理未使用的资源(镜像、容器、网络) |
网络管理
| 命令 |
作用 |
| docker network ls |
列出所有网络 |
| docker network create <网络名> |
创建网络 |
| docker network inspect <网络> |
查看网络详情 |
| docker network connect <网络> <容器> |
将容器连接到网络 |
| docker network disconnect <网络> <容器> |
断开网络连接 |
| docker network rm <网络> |
删除网络 |
数据卷管理
| 命令 |
作用 |
| docker volume ls |
列出所有数据卷 |
| docker volume create <卷名> |
创建数据卷 |
| docker volume inspect <卷> |
查看卷详情 |
| docker volume rm <卷> |
删除数据卷 |
| docker volume prune |
删除未使用的卷 |
系统与维护
| 命令 |
作用 |
| docker version |
查看 Docker 版本 |
| docker info |
显示 Docker 系统信息 |
| docker login |
登录到镜像仓库 |
| docker logout |
退出登录 |
| docker push <镜像> |
推送镜像到仓库 |
| docker events |
获取实时事件 |
| docker wait <容器> |
等待容器停止并返回退出码 |
示例
运行Nginx
# 映射容器80端口到宿主机80端口
docker run -d -p 80:80 --name mynginx nginx
运行MySQL
docker run -d \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-v mysql_data:/var/lib/mysql \
mysql:8.0