一.Docker常用命令
1. 镜像管理
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
拉取镜像 | docker pull <镜像名>:<标签> | 从仓库拉取镜像 | docker pull ubuntu:22.04 |
构建镜像 | docker build -t <镜像名> <路径> | 根据 Dockerfile 构建镜像 | docker build -t myapp:latest . |
列出镜像 | docker images | 显示本地所有镜像 | docker images |
删除镜像 | docker rmi <镜像名/ID> | 删除指定镜像 | docker rmi myapp:old |
导出镜像 | docker save -o <文件名>.tar <镜像> | 将镜像保存为 .tar 文件 | docker save -o myapp.tar myapp:latest |
导入镜像 | docker load -i <文件名>.tar | 从 .tar 文件加载镜像 | docker load -i myapp.tar |
登录镜像仓库 | docker login | 登录到 Docker Hub 或私有仓库 | docker login -u username |
推送镜像到仓库 | docker push <镜像名> | 推送镜像到远程仓库 | docker push myrepo/myapp:latest |
2. 容器生命周期
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
启动新容器 | docker run [选项] <镜像> | 创建并启动容器 | docker run -it ubuntu bash |
启动容器(后台) | docker run -d <镜像> | 后台运行容器 | docker run -d nginx |
停止容器 | docker stop <容器名/ID> | 停止运行中的容器 | docker stop my_container |
启动已停止的容器 | docker start <容器名/ID> | 重新启动已停止的容器 | docker start my_container |
重启容器 | docker restart <容器名/ID> | 重启容器 | docker restart my_container |
删除容器 | docker rm <容器名/ID> | 删除已停止的容器 | docker rm my_container |
强制删除运行中容器 | docker rm -f <容器名/ID> | 强制删除容器(无论是否运行) | docker rm -f my_container |
3. 容器交互与监控
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
进入容器终端 | docker exec -it <容器名/ID> <命令> | 在运行中的容器内执行命令 | docker exec -it my_container bash |
查看容器日志 | docker logs <容器名/ID> | 显示容器日志 | docker logs -f my_container |
查看运行中容器 | docker ps | 列出正在运行的容器 | docker ps -a (显示所有容器) |
查看资源占用 | docker stats | 实时监控容器资源使用情况 | docker stats |
查看容器详情 | docker inspect <容器名/ID> | 显示容器详细信息(JSON格式) | docker inspect my_container |
4. 网络管理
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
列出网络 | docker network ls | 显示所有 Docker 网络 | docker network ls |
创建自定义网络 | docker network create <网络名> | 创建新的 Docker 网络 | docker network create my_network |
连接容器到网络 | docker network connect <网络> <容器> | 将容器连接到指定网络 | docker network connect my_network my_container |
断开容器网络 | docker network disconnect <网络> <容器> | 断开容器与网络的连接 | docker network disconnect my_network my_container |
5. 数据卷管理
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
创建数据卷 | docker volume create <卷名> | 创建持久化数据卷 | docker volume create my_volume |
列出数据卷 | docker volume ls | 显示所有数据卷 | docker volume ls |
删除数据卷 | docker volume rm <卷名> | 删除指定数据卷 | docker volume rm my_volume |
挂载数据卷到容器 | docker run -v <卷名>:<容器路径> | 将数据卷挂载到容器 | docker run -v my_volume:/data my_image |
6. 系统与维护
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
清理无用资源 | docker system prune | 删除停止的容器、未使用的镜像和网络 | docker system prune -a (包括未使用的镜像) |
查看 Docker 版本 | docker version | 显示 Docker 客户端和服务端版本 | docker version |
查看系统信息 | docker info | 显示 Docker 系统信息(存储、运行时等) | docker info |
7. 其他实用命令
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
容器与宿主机复制文件 | docker cp <容器名>:<容器路径> <宿主机路径> | 从容器复制文件到宿主机 | docker cp my_container:/app/logs ./logs |
常用选项说明
-d
: 后台运行容器(detached mode)-it
: 分配交互式终端(通常与bash
结合使用)-p <宿主机端口>:<容器端口>
: 端口映射(如-p 8080:80
)-v <宿主机路径>:<容器路径>
: 挂载数据卷或目录--name <名称>
: 指定容器名称
二.Docker-Compose常用命令
场景 | 命令 | 说明 | 示例 |
---|---|---|---|
启动服务 | docker-compose up | 根据 docker-compose.yml 启动服务 | docker-compose up -d (后台运行) |
停止服务 | docker-compose down | 停止并删除容器、网络等资源 | docker-compose down |
查看服务状态 | docker-compose ps | 显示 Compose 管理的容器状态 | docker-compose ps |
构建镜像并启动 | docker-compose up --build | 重新构建镜像并启动服务 | docker-compose up --build |