docker的常用命令
docker常用的命令
启动类命令
- 启动docker:systemctl start docker
- 停止docker:systemctl stop docker
- 重启docker:systemctl restart docker
- 查看docker的状态:systemctl status docker
- 开机自启:systemctl enable docker
- 查看docker概要信息:docker info
- 查看已启动docker容器的占用CPU:docker stats
镜像命令
- 列出本地主机上所有的镜像:docker images [options]
options的说明(可选选项):-a:列出本地所有镜像(含历史镜像层) -q:只显示镜像ID
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签版本号(同一个仓库源可以有多个TAG版本)
IMAGE ID:镜像ID
CREATE:镜像的创建时间
SIZE:镜像的大小
- 在https://hub.docker.com/ 上查询某个服务的镜像:docker search [options] 镜像名
options的说明(可选选项):-limit:只列出N个镜像
- 在docker hub上下载某个服务的镜像到本地:docker pull 镜像名:[tag]
tag的说明(可选选项):可以指定镜像的版本(不写默认下载的是最新版镜像)
- 查看镜像、容器、镜像卷所占用的磁盘空间:docker system df
- 删除镜像的命令:docker rmi [options] 镜像ID 或者 镜像名:[tag]
options的说明(可选选项):-f 强制删除
删除全部镜像:docker rmi -f $(docker images -aq)
容器命令
基础容器命令
- 新建和启动容器:docker run [options] 镜像ID 或者 镜像名:tag [command]
options的说明(可选选项:单个减号和双个减号):
--name 容器名:为容器指定一个名称
-d:后台运行容器并返回容器ID,也叫启动守护式容器(后台运行)
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-p 主机端口:容器端口:指定端口映射(小写p,可以指定多个)
-P:随机端口映射(大写P)
command的说明:
/bin/bash:交互式的shell
- 查看当前所有正在运行的容器:docker ps [options]
options的说明(可选选项):
-a:列出当前所有运行的容器+历史运行过的容器
-q:只显示容器ID
-l:显示最近创建的容器
-n:显示最近n个创建的容器
CONTAINER ID:容器的ID
NAMES:容器的名字
- 退出容器的两种方式
exit:当使用docker run命令进入容器后,用exit退出容器时容器会停止
ctrl+q+p:当使用docker run命令进入容器后,用ctrl+q+p退出容器时容器不会停止
- 启动已经停止的容器:docker start 容器ID或者容器名
- 重启容器:docker restart 容器ID或者容器名
- 停止容器:docker stop 容器ID或者容器名
- 强制停止容器:docker kill 容器ID或者容器名
- 删除容器:docker rm -f 容器ID或者容器名
删除全部容器:docker rm -f $(docker ps -aq) 或者 docker ps -aq | xargs docker rm
复杂容器命令
- 启动守护式容器(后台运行):docker run -d 镜像ID或者镜像名:tag
docker容器后台运行,就必须有一个前台进程,如果没有前台进行容器就会自动退出(操作系统centos、ubuntu默认没有前台进程,因此使用-d启动后会自动退出)
解决办法:使用-it进入容器,用ctrl+q+p退出容器
- 查看容器的日志:
docker logs 容器ID或者容器名
- 查看容器内运行的进程:
docker top 容器ID或者容器名
- 查看容器内部细节(网络、端口映射):
docker inspect 容器ID或者容器名
- 从容器内拷贝文件到主机上:
docker cp 容器ID:容器内路径 目的主机路径
- 导出和导入容器
export导出容器:将容器导出为一个tar归档文件(docker export 容器ID > 文件名.tar)
import导入容器:依据tar归档文件创建一个新的文件系统导入为镜像(cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号)
- 进入正在运行的容器并以命令式交互式终端操作(一般先用-d后台启动容器,再用exec进入对应的容器实例)
docker attach:直接进入容器启动命令的终端,不会启动新的进程,用exit退出会导致容器的停止
dcoker exec:在容器中打开新的终端,并且可以启动新的进程,用exit退出不会导致容器的停止
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)