
Docker 常用命令涵盖镜像管理、容器生命周期、数据卷与网络及系统维护四大核心领域,掌握这些命令可高效完成容器化部署与运维 。
镜像与容器管理
镜像操作:使用 docker images 查看本地镜像,docker pull 拉取镜像,docker rmi 删除镜像,docker build 构建新镜像 。
容器运行:docker run 创建并启动容器,常用参数包括 -d 后台运行、-p 端口映射、-v 挂载卷 。
状态控制:docker ps 查看运行中容器,docker start/stop/restart 控制容器启停,docker rm 删除容器,docker kill 强制终止 。
交互与日志:docker exec -it 进入容器交互,docker logs -f 实时查看日志,docker attach 连接容器主进程 。
数据卷、网络与系统维护
数据卷:docker volume create/ls/rm 管理数据卷,docker run -v 挂载宿主机目录或卷到容器,实现数据持久化 。
网络管理:docker network ls/create/inspect 查看与管理网络,docker network connect/disconnect 连接或断开容器网络 。
系统清理:docker system prune 清理未使用资源,docker system df 查看磁盘占用,docker version/info 查看版本与系统信息 。
Docker 是一个开源的应用容器引擎,它允许开发者打包、分发和运行应用程序。在 Docker 中,构建镜像是一个核心功能,它允许你将应用程序及其依赖打包在一个轻量级、可移植的容器中。以下是一些最常用的 Docker 命令,用于构建和管理 Docker 镜像:
docker build
使用 docker build 命令从 Dockerfile 创建一个新的镜像。例如:
docker build -t my-image-name:tag .
这里 -t 参数用于指定镜像的名称和标签(例如 my-image-name:tag),最后的 . 表示 Dockerfile 位于当前目录。
docker images
使用 docker images 命令可以列出所有本地的 Docker 镜像。例如:
docker images
docker run
使用 docker run 命令从镜像启动一个新的容器。例如:
docker run -d -p 80:80 --name my-container my-image-name:tag
这里 -d 表示后台运行容器,-p 用于端口映射,--name 指定容器名称。
docker ps
使用 docker ps 命令可以查看当前正在运行的容器。例如:
docker ps
docker exec
使用 docker exec 命令可以在运行的容器中执行命令。例如,进入一个正在运行的容器:
docker exec -it my-container /bin/bash
docker stop
使用 docker stop 命令可以停止一个或多个正在运行的容器。例如:
docker stop my-container
docker rm 和 docker rmi
使用 docker rm 删除一个或多个容器,使用 docker rmi 删除一个或多个镜像。例如:
docker rm my-container
docker rmi my-image-name:tag
说明:运行中的容器在删除前需要先停止,否则会产生如下错误:
root@myVulter:~# docker rm wordpress-wordpress-1
Error response from daemon: cannot remove container "wordpress-wordpress-1": container is running: stop the container before removing or force remove
docker logs
使用 docker logs 命令可以查看容器的输出日志。例如:
docker logs my-container
这些命令覆盖了从构建镜像到运行和管理容器的整个流程。通过熟练使用这些命令,你可以高效地使用 Docker。
在Docker中,最常见的命令主要包括镜像(Images)、容器(Containers)、网络(Networks)、卷(Volumes)和守护进程(Daemon)管理等。这里我将重点介绍与镜像操作相关的最常用命令。
使用docker pull命令可以从Docker Hub或其他注册中心拉取镜像到本地。例如,要拉取最新的Ubuntu镜像:
docker pull ubuntu
你也可以指定标签(tag)来拉取特定版本的镜像:
docker pull ubuntu:18.04
使用docker images命令可以列出本地所有的镜像。
docker images
你也可以使用docker image ls作为别名。
使用docker rmi或docker image rm命令可以删除一个或多个镜像。例如,删除一个名为ubuntu的镜像:
docker rmi ubuntu
或者使用别名:
docker image rm ubuntu
如果要删除所有未被容器使用的镜像,可以使用:
docker image prune
使用docker search命令可以在Docker Hub上搜索镜像。例如,搜索包含“nginx”的镜像:
docker search nginx
使用docker tag命令可以给本地镜像添加标签,这在将镜像推送到远程仓库时非常有用。例如,给本地ubuntu镜像添加一个新标签:
docker tag ubuntu myusername/ubuntu:latest
运行 Docker 镜像最常用的方法是通过 docker run 命令,这是创建并启动容器的标准且唯一的官方方式。不过,根据使用场景和参数组合的不同,其用法可灵活变化,主要体现在以下几种常见形式:
docker run -it 镜像名:tag /bin/bash
-i:保持标准输入打开(交互模式) -t:分配伪终端(TTY) docker run -d --name 容器名 -p 宿主机端口:容器端口 镜像名:tag
-d:后台运行(detached mode) --name:自定义容器名称 -p:端口映射,暴露服务到宿主机 docker run 镜像名:tag 命令 [参数]
-it 或 -d,容器执行完命令即退出 docker run ubuntu /bin/echo "Hello Docker!"
补充说明
docker run 是唯一用于“运行镜像”的命令,其他如 docker start 只能启动已存在但已停止的容器,不能直接运行镜像 。docker run 会自动拉取(pull)该镜像(默认从 Docker Hub)。-v:挂载数据卷(宿主机 ↔ 容器)-e:设置环境变量--restart:设置容器重启策略✅ 总结:运行镜像只有一种方法 ——
docker run,但通过不同参数组合可实现交互式、后台化、一次性等多种运行模式。
在使用Docker时,经常需要停止正在运行的容器并删除不再需要的镜像。以下是一些常用的Docker命令来实现这些操作:
停止正在运行的容器
要停止一个或多个正在运行的容器,可以使用docker stop命令。例如:
docker stop [容器ID或名称]
如果你想停止所有正在运行的容器,可以使用:
docker stop $(docker ps -q)
删除停止的容器
一旦容器被停止,你可以使用docker rm命令来删除它。例如:
docker rm [容器ID或名称]
如果你想删除所有已停止的容器,可以使用:
docker container prune
或者使用更老的命令(在一些Docker版本中可能仍然有效):
docker rm $(docker ps -a -q)
删除镜像
首先,确保没有容器正在使用该镜像。如果需要,可以先停止并删除相关的容器。然后,使用docker rmi命令来删除镜像:
docker rmi [镜像ID或名称]
如果你想删除所有未被任何容器使用的镜像(即孤立的镜像),可以使用:
docker image prune -a
或者使用更老的命令(在一些Docker版本中可能仍然有效):
docker rmi $(docker images -q -f dangling=true)
组合命令:停止并删除容器和镜像
如果你想一次性完成停止容器并删除镜像的操作,可以结合使用上述命令。例如,首先停止所有容器,然后删除所有未被使用的镜像:
docker stop $(docker ps -q) && docker container prune && docker image prune -a
这个命令序列首先停止所有容器,然后删除所有已停止的容器,最后删除所有未被使用的镜像。这可以帮助你清理不再需要的资源。