常用docker指令

Docker指令”模块化”速查手册 🧰

本手册将所有常用Docker指令按功能划分,让你能像查字典一样快速定位所需命令。

模块一:安装与环境

确保你的Debian系统拥有Docker环境。

1. 更新系统软件包

在安装任何新软件前,先更新一下总是个好习惯。

$ sudo apt update

2. 一键安装Docker

$ curl -fsSL https://get.docker.com | bash

设置开机自启

$ systemctl enable docker

3. 一键安装Docker Compose

$ curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version

3. 验证安装

检查Docker版本号,并运行经典的”hello-world”镜像来确认一切就绪。

$ docker --version
$ docker run hello-world

如果看到 “Hello from Docker!” 的消息,恭喜你,安装成功!

模块二:容器操作核心

容器是Docker世界的主角,以下是与它们互动最常用的命令。

1. 查看容器

查看当前正在运行的容器:

$ docker ps

查看所有容器(包括已停止的):

$ docker ps -a

2. 运行与管理容器

以Nginx为例,在后台启动一个容器,并将主机的8080端口映射到容器的80端口。

# -d: 后台运行, -p: 端口映射, --name: 自定义容器名
$ docker run -d -p 8080:80 --name my-web-server nginx

停止指定的容器:

$ docker stop my-web-server

再次启动已停止的容器:

$ docker start my-web-server

3. 查看日志与进入容器

实时查看容器的输出日志:

$ docker logs -f my-web-server

进入容器内部进行交互(非常适合调试):

$ docker exec -it my-web-server bash

模块三:镜像管理核心

镜像是创建容器的模板或”蓝图”。

1. 查看本地所有镜像

$ docker images

2. 从远程仓库拉取镜像

$ docker pull redis

3. 删除本地镜像

$ docker rmi redis

注意:删除镜像前,必须先停止并删除所有基于该镜像创建的容器。

模块四:清理与维护(重点来啦!)

保持系统整洁,释放磁盘空间。

1. 侦察篇:精确查找要清理的容器

查找所有已经停止(Exited)状态的容器,它们是清理的首要目标。

$ docker ps -a -f "status=exited"

解析-f 是 filter(筛选)的缩写,这里我们筛选出状态为 exited 的容器。

2. 执行篇:安全删除一个或多个容器

删除单个指定的容器(可以使用容器名或容器ID):

$ docker rm my-web-server

高手技巧:一键删除所有已停止的容器。

$ docker rm $(docker ps -a -f "status=exited" -q)

解析-q 参数只返回容器ID。$(...) 会将里面的命令结果作为参数传给 docker rm

3. 溯源篇:找到并卸载无用的镜像

首先,删除那些没有被任何容器使用的”悬空”镜像(dangling images)。

$ docker rmi $(docker images -f "dangling=true" -q)

当你确认某个非悬空镜像(如nginx)也不再需要时,确保相关容器已被删除,然后执行:

$ docker rmi nginx

4. 终极篇:一键”大扫除”

Docker提供了一个非常方便的命令来清理所有不再使用的资源:包括已停止的容器、无用的网络、悬空的镜像和构建缓存。

$ docker system prune

执行时它会请求你确认,这是一个安全网。如果你想更彻底,连同未被使用的镜像一起删除,可以添加 -a 参数:

$ docker system prune -a

警告-a 参数会删除所有未被任何容器使用的镜像,而不仅仅是悬空的。请谨慎使用!