docker的常用命令
docker的常用命令
启动类命令
命令基于centos7,centos6命令不一样
# 关闭docker服务
systemctl stop docker
# 查看docker状态
systemctl status docker
# 启动docker服务
systemctl start docker
# 重启docker服务
systemctl restart docker
帮助类命令
# 显示doucker的版本信息
docker version
# 显示docker的系统信息,包括镜像和容器的数量
docker info
# 帮助命令
docker 命令 --help
帮助文档的地址:https://docs.docker.com/reference/
镜像命令
# 查看所有本地主机上的镜像
docker images
解释说明:
- REPOSITORY:镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像的id
- CREATED:镜像的创建时间
- SIZE:镜像的大小
可选项:
- -a,--all:列出所有的镜像(含历史镜像)
- -q,--quiet:只显示镜像的id
同一个仓库源可以有多个TAG版本,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG来定义不同的镜像;如果你不指定一个镜像的版本标签,将默认使用最新镜像
# 搜索镜像
docker search 镜像名
解释说明:
- NAME:镜像名称
- DESCRIPTION:镜像说明
- STARS:收藏数
- OFFICIAL:是否官方认证
- AUTOMATED:是否自动构建的
可选项:通过收藏来过滤显示结果
- --filter=STARS=3000:搜索出来的镜像就是STARS大于3000的
- --limit 10:只列出10个镜像,默认25个
# 下载镜像,不指定TAG默认下载最新版
docker pull 镜像名
# 下载5.7版本的mysql
docker pull mysql:5.7
# 查看镜像/容器/数据卷所占空间
docker system df
# 删除镜像,-f:强制删除
docker rmi 镜像id
# 删除多个镜像
docker rmi 镜像id 镜像id 镜像id
# 删除全部的镜像
docker rmi $(docker images -aq)
容器命令
注意:有了镜像才可以创建容器
# 新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND][ARG...]
# 以交互模式启动并进入容器,在容器内执行/bin/bash获得一个交互式shell
docker run -it centos /bin/bash
OPTION说明:
- --name="容器名字":自定义容器名字
- -d:后台方式运行
- -i:以交互模式运行容器,通常与 -t 同时使用
- -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用,
- -it:启动交互式容器(前台有伪终端,等待交互)
- -p:指定容器的端口,小写p
- -P:随机端口映射,大写P
# 在交互模式中执行退出并停止容器
exit
# 在交互模式中执行退出但不停止容器
ctrl+q+p
# 列出当前正在运行的容器
docker ps
# 列出当前正在运行的容器+历史运行过的容器
docker ps -a
# 显示最近创建的n个容器
docker ps -n=?
# 只显示容器的编号
docker ps -q
# 删除指定的容器,不能删除正在运行的容器(-f 强制删除)
docker rm 容器id
# 强制删除所有的容器
docker rm -f $(docker ps -aq)
# 启动已经停止的容器
docker start 容器id或容器名
# 重启容器
docker restart 容器id或容器名
# 停止当前正在运行的容器
docker stop 容器id或容器名
# 强制停止当前容器
docker kill 容器id或容器名
# 后台启动容器(部分容器不支持)
docker run -d 镜像名
注意:如果以后台方式启动容器后,运行docker ps命令查看当前正在运行的容器发现刚才启动的容器停止了,说明该容器不支持后台启动,原因:容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
# 显示容器日志
docker logs 容器id
# 显示全部日志
docker logs -ft 容器id
# 显示10条日志
docker logs -ft --tail 10 容器id
# 查看容器中的进程信息
docker top 容器id
# 查看容器的元数据
docker inspect 容器id
# 以交互模式进入容器,会打开新的终端,并启动新的进程,用exit退出不会导致容器停止
docker exec -it 容器id /bin/bash
# 进入容器正在执行的终端,不会启动新的进程,用exit退出会导致容器停止
docker attach 容器id
# 从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目标路径
# 导出容器的内容为tar
docker export 容器id>文件名.tar
# 将tar包中的内容解压为镜像
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
# 提交容器副本使之成为一个新的镜像
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
记得快乐
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!