一、 镜像管理
管理 Docker 镜像,镜像是创建容器的模板。
命令 | 描述 | 示例 |
---|---|---|
docker pull |
从 Docker Hub 或其他镜像仓库拉取镜像 | docker pull ubuntu:22.04 |
docker images 或 docker image ls |
列出本地已有的所有镜像 | docker images |
docker build |
从 Dockerfile 构建一个新镜像 | docker build -t my-app:1.0 . |
docker rmi 或 docker image rm |
删除一个或多个本地镜像 | docker rmi my-app:1.0 |
docker tag |
为本地镜像添加一个新的标签(别名) | docker tag my-app:1.0 my-username/my-app:latest |
docker push |
将本地镜像推送到镜像仓库 | docker push my-username/my-app:latest |
docker search |
从 Docker Hub 搜索镜像 | docker search nginx |
docker save |
将一个或多个镜像保存为 tar 归档文件 | docker save -o ubuntu.tar ubuntu:22.04 |
docker load |
从 tar 归档文件加载镜像 | docker load -i ubuntu.tar |
二、 容器生命周期管理
创建、启动、停止和删除容器。
命令 | 描述 | 示例 |
---|---|---|
docker run |
基于镜像创建一个新容器并运行 | docker run -d -p 8080:80 --name my-nginx nginx |
docker ps |
列出正在运行的容器 | docker ps |
docker ps -a |
列出所有容器(包括已停止的) | docker ps -a |
docker start |
启动一个或多个已停止的容器 | docker start my-nginx |
docker stop |
优雅地停止一个或多个正在运行的容器 | docker stop my-nginx |
docker kill |
强制停止一个或多个正在运行的容器 | docker kill my-nginx |
docker restart |
重启一个或多个容器 | docker restart my-nginx |
docker rm |
删除一个或多个已停止的容器 | docker rm my-nginx |
docker rm -f |
强制删除一个正在运行的容器 | docker rm -f my-nginx |
docker pause |
暂停容器中的所有进程 | docker pause my-nginx |
docker unpause |
恢复容器中被暂停的进程 | docker unpause my-nginx |
docker create |
创建一个新容器但不启动它 | docker create --name my-ubuntu ubuntu |
docker run
常用参数说明:
-d
: 后台运行容器 (detached mode)-p 主机端口:容器端口
: 端口映射--name 容器名
: 指定容器名称-v 主机路径:容器路径
: 挂载数据卷-it
: 以交互模式运行容器,通常用于进入容器终端 (-i
: interactive,-t
: tty)--rm
: 容器停止后自动删除-e KEY=VALUE
: 设置环境变量
三、 容器操作
查看日志、进入容器、复制文件等。
命令 | 描述 | 示例 |
---|---|---|
docker exec |
在正在运行的容器中执行命令 | docker exec -it my-nginx bash |
docker logs |
获取容器的日志 | docker logs my-nginx |
docker logs -f |
实时跟踪容器的日志输出 | docker logs -f my-nginx |
docker inspect |
查看容器/镜像的详细信息(JSON格式) | docker inspect my-nginx |
docker cp |
在容器和主机之间复制文件/文件夹 | docker cp ./index.html my-nginx:/usr/share/nginx/html/ |
docker top |
查看容器内正在运行的进程 | docker top my-nginx |
docker stats |
实时显示容器的资源使用情况(CPU, 内存等) | docker stats |
四、 数据卷和网络管理
用于数据持久化和容器间通信。
数据卷
命令 | 描述 | 示例 |
---|---|---|
docker volume create |
创建一个数据卷 | docker volume create my-data |
docker volume ls |
列出所有数据卷 | docker volume ls |
docker volume inspect |
查看数据卷的详细信息 | docker volume inspect my-data |
docker volume rm |
删除一个或多个数据卷 | docker volume rm my-data |
docker volume prune |
删除所有未被任何容器使用的本地数据卷 | docker volume prune |
网络
命令 | 描述 | 示例 |
---|---|---|
docker network create |
创建一个网络 | docker network create --driver bridge my-net |
docker network ls |
列出所有网络 | docker network ls |
docker network inspect |
查看网络的详细信息 | docker network inspect my-net |
docker network rm |
删除一个或多个网络 | docker network rm my-net |
docker network connect |
将一个运行中的容器连接到一个网络 | docker network connect my-net my-nginx |
docker network disconnect |
断开容器与一个网络的连接 | docker network disconnect my-net my-nginx |
五、 Docker Compose (多容器应用)
用于定义和运行多容器 Docker 应用的工具。通常通过 docker-compose.yml
文件来配置。
命令 | 描述 | 示例 |
---|---|---|
docker-compose up |
创建并启动所有服务 | docker-compose up |
docker-compose up -d |
在后台创建并启动所有服务 | docker-compose up -d |
docker-compose down |
停止并删除所有服务、网络、数据卷 | docker-compose down |
docker-compose ps |
列出 Compose 应用中的所有容器 | docker-compose ps |
docker-compose logs |
查看服务的日志输出 | docker-compose logs web |
docker-compose build |
构建或重新构建服务 | docker-compose build |
docker-compose exec |
在指定服务中执行命令 | docker-compose exec web bash |
docker-compose pull |
拉取服务依赖的镜像 | docker-compose pull |
docker-compose push |
推送服务的镜像 | docker-compose push |
注意:新版本的 Docker 可能已将 docker-compose
集成为 docker compose
(无连字符)。
六、 系统与清理 (System & Cleanup)
查看 Docker 系统信息和清理无用资源。
命令 | 描述 | 示例 |
---|---|---|
docker info |
显示 Docker 系统级的详细信息 | docker info |
docker version |
显示 Docker 的版本信息 | docker version |
docker system prune |
一次性清理无用的资源(停止的容器、无用的网络、悬空镜像、构建缓存) | docker system prune |
docker system prune -a |
清理得更彻底,包括没有被任何容器使用的镜像 | docker system prune -a |
docker system df |
查看 Docker 磁盘使用情况 | docker system df |