Docker 常用命令

1.帮助启动类命令

1.启动docker

bash 复制代码
systemctl start docker

2.停止docker

bash 复制代码
systemctl stop docker

3.重启docker

bash 复制代码
systemctl restart docker

4.查看dockers状态

bash 复制代码
systemctl status docker

5.开机自启

bash 复制代码
systemctl enable docker

6.开机自启同时启动

bash 复制代码
systemctl enable --now docker

7.查看docker概要信息

bash 复制代码
docker info

8.查看docker总体帮助文档

bash 复制代码
docker -help

9.查看docker命令帮助文档

bash 复制代码
docker 具体命令 --help

2. 镜像命令

1.列出本地主机上的镜像

bash 复制代码
docker images
1.列出本地所有镜像(含历史映像层)
bash 复制代码
docker images -a
2.只显示镜像id
bash 复制代码
docker images -q

2.查询某个镜像在镜像源有哪些版本

bash 复制代码
docker search 镜像源的名字

返回前五条

bash 复制代码
docker search - -limit 5 redis

3.拉取镜像

bash 复制代码
docker pull 镜像名:[tag] 没有 默认就是最新latest

4.查看镜像 / 容器 / 数据卷 所占用的空间

bash 复制代码
docker system df

5.删除镜像

bash 复制代码
docker rmi  镜像标识 可以加 -f标识 强制删除
bash 复制代码
docker rmi - f $(docker images -qa)

6.面试题 :谈谈docker虚悬镜像是什么?

仓库、标签都是<none>的镜像,俗称虚悬镜像 dangling image

长什么样

3.容器命令

这里以ubuntu做示范

bash 复制代码
docker pull ubuntu

拉取ubuntu镜像

1.新建或启动容器

bash 复制代码
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]  

option 参数

command 命令

arg 参数

i 是交互 t是终端的意思

尝试运行一下Ubuntu

bash 复制代码
docker run -it ubuntu

但是还没结束,开启了终端命令,你得需要输入命令 啊

所以在后面还得加入参数 在容器内 执行 /bin/bash命令来开启容器内终端供外面使用

两种方式

bash 复制代码
docker run -it ubuntu bash
bash 复制代码
docker run -it ubuntu /bin/bash

来运行

他就进入容器内部的终端了

退出就输入 exit

给容器取个名字

bash 复制代码
docker run -it --name=jmjubuntu ubuntu /bin/bash

2.列出当前所有正在运行的容器

bash 复制代码
docker ps [OPTIONS]

终于明白了 这些 -i -t 的都是缩写 正常的命令都是 --全称

比如 -i 等效于 --interactive

bash 复制代码
docker ps -n 1

3.退出容器

1.退出 容器停止

run进去容器 exit退出 容器停止

bash 复制代码
exit
2.退出容器不停止

run进去容器, ctrl + p + q 退出 容器不停止

使用这个又可以进入容器

bash 复制代码
docker exec -it 容器id bash

4.删除容器

bash 复制代码
# 删除指定容器
docker rm 容器id

只能删除不在运行的容器

强制删除

bash 复制代码
docker rm -f 容器id   #强制删除

第二个命令解释一下

把管道符前面执行的结果作为参数传入 xargs 并执行 docker rm 命令

5.进入容器

bash 复制代码
docker exec -it 容器id bash

6.启动守护式容器 后台服务器

7.redis启动演示case

1.前台交互式启动

bash 复制代码
docker run -it redis:6.0.8

2.后台守护式启动

bash 复制代码
docker run -d redis:6.0.8

8.查看容器内运行的进程

bash 复制代码
docker top 容器id

9.查看容器内部的细节

bash 复制代码
docker inspect 容器id

10.进入正在运行的容器并以命令行交互

bash 复制代码
docker exec -it 容器id bash
bash 复制代码
docker attach 容器id

11.从容器拷贝文件到主机

bash 复制代码
docker cp 1924db6e1c43:/tmp/a.txt /root

12.导入和导出容器

导出

bash 复制代码
docker export 1924db6e1c43 >abcd.tar

.tar 或 .gz都可以

导入

bash 复制代码
cat abcd.tar | docker import - jmj/ubuntu:3.7

导入了成为一个镜像

运行

bash 复制代码
docker run -it jmj/ubuntu:3.7 /bin/bash

检查是否有a.txt文件

这块知识应该过期了,如果保留容器中得修改记录 就需要用 save load

相关推荐
小二李31 分钟前
第11章 nestjs服务端开发:登录鉴权
运维·服务器
i建模1 小时前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器
chatexcel2 小时前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
kida_yuan2 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
小陈phd3 小时前
混合知识库搭建:本地Docker部署Neo4j图数据库与Milvus向量库
数据库·docker·neo4j
Wpa.wk4 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
何中应4 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
江畔何人初4 小时前
kubernet与docker的关系
linux·运维·云原生
bubuly5 小时前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
xuefuhe6 小时前
Kubernetes基础入门4 应用的扩展与收缩
云原生·容器·kubernetes