文章目录
🐳 Docker 入门教程(四):容器命令
容器是镜像的运行实例,使用 Docker 的核心就在于对容器的管理。本节内容将覆盖容器从启动到销毁的全流程操作。
创建并运行容器:docker run
最常用的命令是 docker run
,它会创建一个容器并运行它。
docker run ubuntu
但这不会进入容器,容器可能立刻退出。通常使用交互模式运行:
docker run -it ubuntu bash
参数说明:
-i
:交互模式(保持标准输入打开)-t
:分配一个伪终端(terminal)ubuntu
:使用的镜像bash
:容器启动后执行的命令
后台运行容器:
docker run -d nginx
带端口映射(主机:容器):
docker run -d -p 8080:80 nginx
指定容器名称:
docker run -d --name web nginx
挂载目录(本地文件同步进容器):
docker run -v $(pwd):/app -it ubuntu bash
查看容器列表:docker ps
查看运行中的容器:
docker ps
查看所有容器(包括已退出的):
docker ps -a
显示容器 ID 列表:
docker ps -q
停止、启动、重启容器
停止正在运行的容器:
docker stop 容器ID
重新启动已停止的容器:
docker start 容器ID
重启容器(即使它还在运行):
docker restart 容器ID
删除容器:docker rm
删除一个或多个容器:
docker rm 容器ID
docker rm 容器ID1 容器ID2
强制删除正在运行的容器:
docker rm -f 容器ID
配合 docker ps -a
和 -q
批量删除:
docker rm $(docker ps -aq)
进入容器:exec
和 attach
推荐方式是 exec
,可以在不干扰主进程的情况下进入:
docker exec -it 容器ID bash
如果容器没有 bash,可以用 sh:
docker exec -it 容器ID sh
另一种方式是 attach
,它直接附着到主进程(不推荐,用错可能卡住容器):
docker attach 容器ID
查看容器日志:docker logs
查看容器输出的标准输出/错误:
docker logs 容器ID
查看最新日志(类似 tail):
docker logs -f 容器ID
限制输出最近几行:
docker logs --tail 50 容器ID
查看容器详情:docker inspect
docker inspect 容器ID
这会输出一个完整的 JSON,包含网络配置、挂载卷、镜像来源、运行命令等信息。
快速查看容器 IP:
docker inspect -f '{{ .NetworkSettings.IPAddress }}' 容器ID
容器资源占用情况:docker stats
实时查看容器的 CPU、内存等资源使用情况:
docker stats
清理所有已退出的容器
docker container prune
常用容器命令速查表
操作 | 命令 |
---|---|
创建并运行容器 | docker run -it 镜像名 bash |
后台运行并映射端口 | docker run -d -p 8080:80 镜像名 |
查看容器 | docker ps / docker ps -a |
停止 / 启动 / 重启 | docker stop/start/restart 容器ID |
删除容器 | docker rm 容器ID |
进入容器 | docker exec -it 容器ID bash |
查看日志 | docker logs -f 容器ID |
查看资源使用 | docker stats |
清理已退出容器 | docker container prune |