docker常用命令大全
Docker是一种流行的容器化平台,可以在一个独立的、隔离的环境中构建、部署和运行应用程序。了解Docker常用命令可以帮助我们更高效地管理容器,快速开发和部署应用。本文将整理一系列Docker的常用命令,便于日常使用和学习
1 Docker基础命令
1.1 启动/停止/重启docker
启动
1 | systemctl start docker |
ֹͣ停止
1 | systemctl stop docker |
重启
1 | systemctl restart docker |
1.2 设置开机自启动
设置
1 | systemctl enable docker |
取消开机自启动
1 | systemctl disable docker |
1.3 查看docker状态
1 | systemctl status docker |
1.4 查看版本信息
1 | docker version |
该命令显示当前安装的Docker客户端和服务器版本信息。
1.5 显示Docker系统信息
1 | docker info |
该命令展示关于Docker安装的详细信息,包括运行容器的数量、镜像的数量、存储驱动、网络配置等。
1.6 查看帮助
1 | docker --help |
2 镜像管理命令
2.1 搜索镜像
1 | docker search [镜像名] |
在镜像仓库上搜索指定的名称的镜像,默认是Docker Hub。
1 | docker search nginx |
不过企业一般会使用harbor搭建自己的镜像仓库
2.2 下载镜像
1 | docker pull [镜像名]:[标签] |
下载指定的镜像到本地。如果不指定标签,则默认下载latest版本。例如:
1 | docker pull nginx:latest |
2.3 列出本地镜像
1 | docker images |
列出本地所有镜像,显示镜像ID、仓库、标签、大小等信息。
2.4 删除镜像
1 | docker rmi [镜像ID或镜像名] |
删除本地的某个镜像。例如:
1 | docker rmi nginx:latest |
-f 参数可以执行强制删除镜像
1 | docker rmi -f mysql |
删除全部镜像(慎用)
1 | docker rmi -f $(docker images -aq) |
-a 意思为显示全部, -q 意思为只显示ID
2.5 构建镜像
1 | docker build -t [镜像名]:[标签] [Dockerfile所在路径] |
从指定路径的Dockerfile构建一个新的镜像。例如从当前路径构建
1 | docker build -t nginx:1.0 . |
2.6 导入镜像
1 | docker load -i 镜像保存文件位置 |
2.7 保存镜像
1 | docker save -o 保存的目标文件名称 镜像名 |
保存后的镜像可以使用load加载到其他服务器上。
2.8 给镜像打标签
1 | docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] |
有时候根据业务需求 需要对一个镜像进行分类或版本迭代操作,此时就需要给镜像打上标签。10.10.10.200为镜像仓库地址,software为镜像仓库名称
3 容器管理命令
3.1 创建并运行容器
1 | docker run [选项] [镜像名] |
-d:后台运行容器
-p:端口映射
–name:指定容器名称
-v:挂载卷;例如-v 主机路径:容器路径
示例:在后台运行一个名为mynginx的nginx容器,并映射端口:
1 | docker run -d -p 8080:80 --name mynginx nginx |
3.2 查看运行中的容器
1 | docker ps |
列出当前正在运行的容器,显示容器ID、镜像、状态、端口映射等信息。
3.3 查看所有容器(包括停止的)
1 | docker ps -a |
3.4 启动和停止容器
启动容器
1 | docker start [容器ID或容器名] |
停止容器
1 | docker stop [容器ID或容器名] |
3.5 重启容器
1 | docker restart [容器ID或容器名] |
3.6 删除容器
1 | docker rm [容器ID或容器名] |
删除指定的容器。如果容器正在运行,可以使用-f强制删除。
3.7 进入容器
1 | docker exec -it [容器ID或容器名] /bin/bash |
在容器内启动一个交互式的Shell。例如:
1 | docker exec -it mynginx /bin/bash |
3.8 查看容器日志
1 | docker logs [容器ID或容器名] |
查看容器的输出日志。常用选项:
-f:实时输出日志。–tail n:显示最后n行日志。例如:
1 | docker logs -f --tail 20 mynginx |
3.9 查看容器内部细节
1 | docker inspect [容器ID或容器名] |
4 数据卷管理命令
数据卷(Volume)是Docker中持久化数据的关键,通过数据卷可以将容器内的数据持久化到宿主机中。
4.1 创建数据卷
1 | docker volume create [卷名] |
4.2 查看数据卷
1 | docker volume ls |
列出所有数据卷。
4.3 删除数据卷
1 | docker volume rm [卷名] |
删除指定的数据卷。
4.4 查看数据卷详情
1 | docker volume inspect [卷名] |
显示数据卷的详细信息,包括挂载路径。
5 网络管理命令
Docker支持创建自定义网络,以便容器之间可以通过自定义网络相互通信。
5.1 创建网络
1 | docker network create [网络名] |
创建一个自定义网络,通常是bridge类型的网络。
5.2 查看网络
1 | docker network ls |
列出所有网络,包括默认网络。
5.3 查看网络详情
1 | docker network inspect [网络名] |
显示指定网络的详细信息,包括连接到该网络的容器信息。
5.4 删除网络
1 | docker network rm [网络名] |
删除指定的自定义网络。
5.5 将容器连接到网络
1 | docker network connect [网络名] [容器名或容器ID] |
5.6 将容器从网络断开
1 | docker network disconnect [网络名] [容器名或容器ID] |
6 Docker Compose命令
Docker Compose是一种定义和运行多容器Docker应用的工具,通过一个docker-compose.yml文件定义应用的服务和配置。
6.1 启动服务
1 | docker-compose up |
后台运行
1 | docker-compose up -d |
根据docker-compose.yml文件中的配置启动所有服务,常用选项:-d:后台运行所有服务。–build:在启动之前重新构建镜像。
6.2 停止服务
1 | docker-compose down |
停止并删除所有容器、网络和卷。
6.3 构建或重建服务
1 | docker-compose build |
6.4 查看服务状态
1 | docker-compose ps |
列出由docker-compose管理的所有服务及其状态。
6.5 查看服务日志
1 | docker-compose logs [服务名] |
查看指定服务的日志,常用选项:
-f:实时输出日志。–tail n:显示最后n行日志。
7 常用清理命令
7.1 清理无用的数据
Docker提供了一些简单的清理命令,用于删除不再使用的容器、镜像、卷和网络。
(1)删除所有已停止的容器:
1 | docker container prune |
(2)删除未使用的镜像:
1 | docker image prune |
(3)删除所有未使用的数据卷:
1 | docker volume prune |
(4)删除所有未使用的网络:
1 | docker network prune |
(5)清理所有未使用的资源(包括镜像、容器、卷和网络):
1 | docker system prune |
通过掌握这些常用命令,可以更轻松地使用Docker进行日常的运维、测试和部署工作。