菜鸟科技网

Docker命令有哪些常用操作及参数?

Docker作为容器化技术的代表,提供了丰富的命令来管理镜像、容器、网络等核心组件,以下从镜像管理、容器操作、数据卷与网络、系统信息四个维度,详细解析常用Docker命令及其使用场景。

Docker命令有哪些常用操作及参数?-图1
(图片来源网络,侵删)

镜像管理命令

镜像是容器的基础,Docker通过docker image或简化的docker命令管理镜像生命周期,拉取镜像时,使用docker pull [镜像名]:[标签],如docker pull nginx:latest会从Docker Hub拉取最新版Nginx镜像,查看本地镜像列表需执行docker images,该命令会显示镜像ID、大小、创建时间等信息,删除镜像则通过docker rmi [镜像ID或名称],若镜像被容器引用需先停止并删除容器,构建自定义镜像时,需在Dockerfile所在目录执行docker build -t [自定义名称]:[标签] .,其中-t用于指定镜像名称,表示构建上下文为当前目录。docker tag [源镜像ID] [新名称]:[新标签]可对现有镜像进行重命名或打标签,便于版本管理。

容器操作命令

容器是镜像的运行实例,其管理命令涵盖创建、启动、停止、删除等全流程,创建容器时,docker run是最核心的命令,常用参数包括-d(后台运行)、-p [主机端口]:[容器端口](端口映射)、--name [容器名](指定容器名称)及-v [主机目录]:[容器目录](挂载数据卷),例如docker run -d --name mynginx -p 8080:80 nginx会以后台模式启动一个名为mynginx的Nginx容器,并将主机8080端口映射至容器80端口,查看运行中的容器使用docker ps,添加-a参数可查看所有容器(包括已停止),停止容器执行docker stop [容器ID或名称],启动已停止的容器则用docker start [容器ID或名称],删除容器需通过docker rm [容器ID或名称],强制删除可加-f参数,进入容器交互式环境有两种方式:docker exec -it [容器ID] /bin/bash(推荐,可在运行中容器执行命令)或docker attach [容器ID](附加到容器终端)。

数据卷与网络管理

数据卷(Volume)实现容器数据持久化,命令docker volume create [卷名]可创建数据卷,docker volume ls查看所有卷,docker volume rm [卷名]删除卷,挂载数据卷时,可直接在docker run中使用-v参数,如-v myvol:/data将名为myvol的卷挂载至容器/data目录,网络管理方面,默认Docker会创建桥接网络,自定义网络可通过docker network create [网络名]实现,docker network ls查看网络列表,容器加入指定网络使用docker network connect [网络名] [容器ID],断开则用docker network disconnect,自定义网络的优势在于支持服务发现,容器可通过容器名相互通信。

系统信息与日志查询

查看Docker系统信息(如版本、存储驱动等)执行docker info,而docker version则显示客户端和服务端的详细版本号,容器日志查询是排查问题的关键,docker logs [容器ID]可查看所有日志,-f参数实时跟踪日志输出,--tail [行数]限制显示最新日志行数,例如docker logs -f --tail 100 mynginx会实时显示mynginx容器的最新100行日志。

Docker命令有哪些常用操作及参数?-图2
(图片来源网络,侵删)

相关操作命令参考表

命令分类 常用命令 功能描述
镜像管理 docker pull 拉取远程镜像
docker images 列出本地镜像
docker build 构建自定义镜像
容器操作 docker run 创建并启动容器
docker ps 列出运行中的容器
docker exec 在运行容器中执行命令
数据卷管理 docker volume create 创建数据卷
网络管理 docker network create 创建自定义网络
日志查询 docker logs 查看容器日志

相关问答FAQs

Q1: 如何彻底删除Docker中的所有镜像和容器?
A: 可分两步执行:首先删除所有容器,命令为docker rm $(docker ps -aq)-aq参数表示过滤出所有容器的ID);然后删除所有镜像,命令为docker rmi $(docker images -q),若需强制删除被占用的镜像,可在docker rmi后添加-f参数。

Q2: Docker容器退出后如何自动删除?
A: 在docker run命令中添加--rm参数即可实现容器退出后自动删除,例如docker run --rm -it ubuntu /bin/bash,当容器退出后(如执行exit命令),容器及其文件系统会被自动清理,适合临时测试场景。

Docker命令有哪些常用操作及参数?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇