网络基础类问题
OSI七层模型都有哪些?
应用层:为计算机用户提供服务
表示层:数据处理(编码、解码、加密解密、压缩解压)
会话层:管理(建立、维护、重连)应用程序之间的会话
传输层:为两台主机进程之间的通信提供通用的数据传输服务
网络层:路由和寻址
数据链层:帧编码和误差纠正控制
物理层:透明的传送比特流传输
TCP/IP四层模型有哪些?
应用层、传输层、网络层、网络接口层
应用层常见的协议有哪些?传输层有哪些协议?网络层一般有哪些协议?
应用层协议:HTTP、FTP、SMTP、POP3、SSH、HTTPS
传输层:TCP、UDP
网络层协议:IP、ICMP、ARP
三次握手和四次挥手介绍一下?
三次握手是TCP建立连接的过程。第一次握手是客户端发送SYN报文给服务器请求建立连接;第二次握手是服务器收到后发送SYN+ACK报文给客户端,表示建立连接;第三次握手是客户端收到后发送ACK报文给服务器
四次挥手是TCP关闭连接的过程。第一次挥手是客户端向服务端发送FIN报文,表述没有数据要发送了,想关闭连接;第二次挥手是服务器收到FIN后发送ACK确认;第三次挥手是服务器也发送FIN报文给客户端表示自己也没数据发送,关闭连接;第四次挥手是客户端收到后返回ACK关闭连接。
扩展
三个标记位
SYN:用于建立连接的初始握手
ACK:用于确认数据的传输,接收方发送一个带有ACK标记的报文段回复发送方,确认已经收到数据
FIN:用于关闭连接
可以四次握手吗?
可以,但是会导致过多的网络开销和资源消耗,三次握手已经确认双方发送和接受能力正常了
可以三次挥手吗?
不可以,应为关闭连接是两端的事情,双方都需要回应才能断开连接。
HTTP对外服务端口试多少?
80
用wireshark主要是作什么用?
Wireshark 是一款网络协议分析工具,用于捕获和分析网络数据包,帮助诊断网络问题、分析网络流量、了解网络协议的工作原理等
https常见状态码有哪些?
400(请求错误):客户端发送的请求语法错误或参数不正确导致
401(未授权):请求需要用户认证,未提供有效认证信息
403(禁止页面):服务器理解请求拒绝执行,权限问题
404(找不到页面):服务器未找到请求的资源
500(服务器内部错误):服务器内部错误,服务端程序出现问题
502(网关错误):网关或代理服务器,上游服务器收到无效响应
503(服务器不可用):服务器暂时无法处理请求,服务器过载或在维护
4xx主要是客户端问题,5xx主要是服务器端问题
什么是IP地址?IPV4和IPV6的区别?IP地址的作用?
IP地址向互联网中设备的门牌号,用于网络中标识和定位不同的设备
主要区别:
地址空间:IPV4使用32位地址,提供的地址数量有限、IPV6使用128位地址。
表示方式:IPV4通常点分十进制,IPV6使用十六进制
头部结构:IPV6头部结构更简单化,提高数据包处理效率
安全性:IPV6支持IPsec协议,提供更好的安全性
作用:定位设备、区分网络、能够进行访问限制、帮组数据在网络中选择正确的传输路径
扩展
IP地址的五类:
A类:网络好占8位,第一位固定为0,范围为1.0.0.0~126.0.0.0。适用于大型网络或国家级网络
B类:网络号占16位,前两位固定为10,范围128.0.0.0~191.255.0.0。常用于学校、企业
C类:网络号占24位,前两位固定为110,范围192.0.0.0~223.255.255.0。多用于公司、家庭网络
D类:网络号占16位,前两位固定为1110,用于多播地址
E类:前四位固定为1111。
常见的路由协议有哪些?
RIP:距离矢量路由协议,基于跳数来计算路由
OSPF(开放式最短路径优先):链路状路由协议,适用于大型网络
BGP(边界网络协议):用于不同的自治系统之间交换路由信息
假如用户反馈从云服务器下载资源很慢排查方法?
服务器网络宽带是否充足、服务器分负载是否过高、网络链路是否存在拥堵、下载设置是否合理(并发连接数)、是否存在网路丢包
Nginx的常用的几种策略
负载均衡策略:Nginx作为反向代理服务器,将请求分发到多个服务端器上。
动静分离策略:把静态资源和动态页面有不同服务器处理
缓存策略:可以设置缓存规则,对经常访问的静态资源进行缓存,提高响应速度
限流策略:限制客户端的请求速率,防止恶意请求或突发流量导致服务器过载
Nginx的负载均衡算法有哪些?
轮询:按照顺序依次请求分发到不同后端服务器,实现负载均衡
加权轮询:为后端服务器设置权重,根据权重比例分配请求
IP哈希:根据客户端IP地址计算哈希值,将请求固定分发到同一后端服务器
最少连接:请求分发到当前连接数最少得后端服务器上
负载均衡如何提高系统的可用性和可扩展性?
故障转移:当某个服务器后端出现故障时,负载均衡可以自动请求转发到其他正常运行的服务器上
资源优化利用:根据服务器的负载情况,将请求均匀的分配到各个服务器上,充分利用服务器资源
水平扩展:业务量增长时,可轻松添加更多的服务器到后端服务器组中。负载均衡会自动将请求分配到新加入的服务器上,实现系统的水平扩展。
减少响应时间:通过优化请求的分配,使客户端能更快的响应,提高用户的体验。
web服务监控最重要的三个指标是什么?
响应时间:客户单发送请求到服务器返回响应所花费的时间
可用性:表示web服务正常运行并能够响应请求的时间比例。高可用性是确保用户能够随时访问服务的关键。
错误率:监控错误请求的比例,错误率越高表示服务器存在问题
ARP工作原理?(地址解析协议)
主机需向另一台主机发送数据时,首先产看自己ARP缓存表中是否存在目标主机MAC地址。若没有,会广播一个ARP请求数据包,询问目标IP地址对应的MAC地址。网路其他主机收到请求后,只有目标主机响应并回复自己MAC地址,然后将目标主机的IP地址和MAC地址对应关系存入自己ARP缓存表中
DNS工作原理(域名解析)
用户浏览器中输入域名时,计算机会向本地DNS服务器发送查询请求,若本地DNS服务器没有域名解析记录,会向上一级DNS服务器进行查询,直到找到对应IP地址并将结果返回给用户的计算机。用户计算机可用于该IP地址向服务器建立连接
AD域是什么?
windows网路中一中目录服务,用于集中管理网路用户、计算机和其他资源,提供身份验证、授权和策略管理等功能
DHCP snooping是什么?
一种用于防止非法DHCP服务器分配IP地址的技术。可以过滤不信任的DHCP消息,保障网络中合法DHCP服务正常运行,防止网络攻击和IP地址冲突
shell中awk如何切割数据?
通过指定分割符来切割数据。例如将John,25;Jane,30分割
awk -F ',' '{print $1,$2}' data.txt该命令是-F ' , '以逗号分割,$1,$2分别表示切割后第一列,第二列
VMware 常见的网络模型
桥接模式(Bridged):在这种模式下,虚拟机就像一台独立的物理计算机直接连接到物理网络中,它会从物理网络中获取一个独立的 IP 地址,与宿主机处于同一网段,可以与同一网络中的其他设备直接通信。
NAT 模式(Network Address Translation):虚拟机通过宿主机访问网络,虚拟机在一个私有网络中,通过宿主机的网络地址转换来访问外部网络,外部网络无法直接访问虚拟机。
仅主机模式(Host-Only):虚拟机与宿主机组成一个独立的网络,虚拟机只能与宿主机通信,不能连接到外部网络
如何使用iptables名将本地80端口请求转发到8080端口?
# 管理员命令执行
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
# -A PREROUTING表示在PREROUTING链中添加一条规则
# -p tcp指定协议为TCP,-j REDIRECT指定采取的动作是重定向
容器类问题
什么是Docker?为什么要在项目中用到Docker?
Docker是一种容器化技术,将应用程序及其依赖打包到一个独立的容器中
保证代码沙箱服务执行用户代码的安全性、防止影响宿主机
怎样保证Docker代码沙箱执行程序时安全性的?
Docker本身就提供了一个隔离的代码执行环境,要进一步提高则需要
限制资源使用:通过Docker配置限制容器使用的CPU、内存、磁盘I/O等资源
网络限制:创建容器时,通过with network disable禁用网络
镜像来源可信:来自官方或其他信来源
最小权限使用:通过seecomd限制用户运行操作,只给文件系统访问和网络访问权限
Docker的核心组件?
镜像(image):是Docker的基础,只读的模版,应用程序或服务的起点.类似于程序的蓝图。
容器(container):镜像的运行实例,完全隔离的方式运行应用程序
Docker引擎:Docker的核心,是一个轻量级的工具集,用于管理容器。包括守护进程(daemon)、API、CLI工具
Docker Hub:云端镜像库,用于存储和分发Docker镜像
常见的Docker命令?
查看下方Linux中docker命令
Docker镜像构建过程,并解释Dockerfile的作用?
1,编写Dockerfile文件,
2,使用docker build命令读取Dockerfile内容执行其中指令,生成docker镜像、保存镜像,
3,构建完成的镜像会被保存到本地Docker镜像库中
4,使用docker run命令启动基于该镜像的容器,完成应用部署
作用:
保证了一致性,同一个Dockerfile可以在不同环境下生成一致的镜像,确保应用运行环境的稳定和一致性
能方便的实现镜像的自动化构建,简化了持续集成和持续部署过程
Dockerfile中常见的命令?
FROM:指定基础镜像
RUN:在镜像中执行命令
CMD:指定容器启动时默认执行的命令
EXPOSE:暴露容器端口
ENV:设置环境变量
Dockerfile中ADD和COPY命令的区别?cmd和ENTRYPOINT区别?
ADD命令功能强大,可以处理本地tar文件并自动解压,还可以URL复制文件
COPY只能支持本地文件系统复制文件和目录到容器中
提醒:尽量使用COPY,因为要保持指令行为的明确性和一致性
CMD和ENTRYPOINT指定容器启动时的命令,CMD可以被docker run的参数覆盖,但后者不会
在Docker中,如何管理和查看容器日志?
启动一个容器、输入docker logs 命令查看容器日志
在Docker中,怎样进行数据卷管理?
1,使用docker volume create命令创建数据卷
2,使用docker run -v 卷名或docker run --mount 卷名来挂载数据卷
3,用docker volume ls查看当前所有卷
4,使用docker volume inspect 卷名查看特定数据卷详情
5,使用docker volume rm 卷名 删除数据卷
Docker中如何配置容器网络?
桥接网(Bridge):Docker默认网络
主机网(Host):容器与宿主机共享IP地址,适用于容器需要高性能网络
无网络(None):是容器无网络接口,适用于隔离
覆盖网络(Overlay):适用于Docker Swarm和k8s,连接多台Docker主机上的容器
macvlan网络:容器获取一个唯一的MAC地址,通过宿主机的物理网络接口来发送和接收数据包。
1,先使用 docker network create命令创建自定义网络
2,然后使用docker run --network 网络名 --name 容器名 镜像 来连接网络。这样容器就会在自定义的网络中运行了
Docker中如何优化容器启动方式?
使用精简的镜像
减少镜像层数,精简Dockerfile合并多个RUN命令
构建镜像是尽量利用Docker的缓存功能
提前启动容器运行所需要的依赖
将常用的容器镜像保存到本地镜像库中,避免每次启动时从远程仓库拉取
将需要频繁修改的数据放在数据卷中,不用每次重新构建镜像
Docker中如何配置和管理环境变量?
Dockerfile中使用ENV指令
通过docker run -e标志传递环境变量
使用docker compose文件中environment字段
在外部.env文件中定义环境变量,并在docker compose文件中引用
如何实现容器之间的通信?
使用同一网络:将多个容器连接到同一个Docker网络中
1,创建自定义网络 docker network create my_network 2,启动容器加入该网络docker run --network my_network --name container image
端口映射:将容器的端口映射到宿主机的端口,通过宿主机的IP和映射端口进行通信
1,启动容器时映射端口 docker run -d -p 8080:80 --name 容器名 镜像名
2,使用宿主机IP+映射端口访问
Docker Compose编排:编辑docker-compose.yml文件为每个服务定义网络并进行配置
共享网络命令空间:通过创建共享网络命名空间的方式使多个容器共享网络设置
Docker Compose的主要作用是什么?
Docker Compose用于定义和运行多容器Docker应用程序的工具。
可以通过docker-compose.yml文件来配置多个相关容器的参数,像镜像,端口映射,环境变量,挂载的卷。通过 docker-compose up命令一次性启动即可。是开发、测试和部署基于微服架构的应用变得更加方便和高效。
Docker中多阶段构建有什么优势?
减小镜像体积:通过构建过程中仅保留最终需要的文件,可以减少Docker镜像的体积
提高了安全性:减少了镜像中不必要文件,降低了潜在的安全风险
优化了构建流程:可以在不同阶段使用不同基础镜像,从而更好管理和依赖构建工具,提高构建效率
便于维护:各阶段结构清晰,是Dockerfile更加简洁和模块化
例如: # 构建阶段
FROM golang:1.16 AS build
# 设置工作目录
WORKDIR /go/src/app
# 将源码复制到容器中
COPY..
# 运行构建命令
RUN go build -o app
# 部署阶段
FROM alpine:latest WORKDIR /app
# 从第一构建阶段复制二进制文件到当前镜像里
COPY --from=build /go/src/app/app.
CMD ["./app"]
Docker的容器编排有哪些工具?
k8s、Docker Swarm、Apache Mesos、Nomad(后面两种不熟悉就不回答)
Docker中如何实现镜像的推送和拉取?
1,登录Docker Hub账户 docker login
2,添加镜像标签 docker tag myapp 用户名/镜像名:标签
3,推送镜像 docker push 用户名/镜像名:标签
4,拉取镜像 docker pull 用户名/镜像名:标签
Docker容器如何实现资源限制(CPU和内存)
限制CPU资源,用--cpus直接指定CPU核数或者--cpu-shares设置容器CPU相对权重
# 启动容器限制最多使用1个CPU核心
docker run --cpus=1 ubuntu
# 启动容器设置CPU权重为512
docker --cpu-shares=512 ubuntu
限制内存资源,使用--memory参数限制内存使用量或者使用--memory-swap参数限制内存和交换空间的总和
# 启动容器限制最多使用512MB内存
docker run --memory=512m ubuntu
# 启动容器限制内存使用512MB,内存交换空间总和为1024MB
docker run --memory=512m --memory-swap=1024m ubuntu
简单介绍一下K8S架构
Master节点:API Server、Schedule、Controller Manager、etcd等组件。负责整个集群管理和控制
Node节点:Kubelet、Kube-proxy等组件,负责容器运行
K8S pos之间如何通信?
同一节点上Pod可以通过网桥直接通信
不同节点上Pod借助K8S网络插件实现跨节点通信
简单说下CI/CD(可持续集成/持续部署与持续交付)流程?
CI流程:
开发人员提交版本控制系统
触发自动构建,包括了编译代码,运行单元测试
若构建和测试成功,代码会合并到主干分支
成功集成的代码会被自动部署到册数环境和预生产环境进行进一步测试
充分测试后代码自动部署生产环境实现持续部署
CI/CD有哪些优势?
提高了交付速度:减少了手动流程,更快将新功能推送到用户手中
提高软件质量:频繁的集成和测试能尽早发现和解决问题
降低了风险:每次小的变更都经过测试和验证减少了大模型发布带来的风险
更好的重复性和可预测性:自动化流程确保每次部署的一致性
在CI/CD流程中,如何使用Jenkins与Docker集成?
1,在Jenkins服务器上安装Docker插件
2,在Jenkins中安转Docker plugin和Pipeline plugin等必要插件
3,在Jenkins中配置Docker环境,确保可以访问Docker命令
4,创建Jenkins的Pipeline功能,并在Pipeline Script中编写构建、测试和部署的脚本,通常用Jenkinsfile
5,配置好后运行Pipeline并监控执行过程
Docker Swarm和K8s在集群管理上的主要区别是什么?
设计理念:
Docker Swarm是一种轻量级的集群管理工具,继承在Docker中,适合小规模集群。
k8s是由谷歌设计的全面、复杂的容器编排系统、适合大规模集群,支持自动化部署、扩展和操作应用容器
架构上:
Docker使用简单的主从架构。主节点Manager负责管理整个集群和任务调度,Work节点负责运行容器
K8s采用复杂的Master-Worker架构,主节点包括了API服务器、调度器和控制器等多个组件。工作节点运行kubelet来管理Pod。
扩展性上:
k8s适合复杂的微服务架构,在大规模集群中优势突出。Docker Swarm适合简单的分布式应用
网络设置上:
k8s网络模型复杂,支持多种网络插件(Flannel、Calico),更灵活。Docker Swarm使用简单的覆盖网络,内建的网络模型非常简洁
社区生态上:
K8s 拥有非常活跃和庞大的社区,有大量的第三方工具和扩展可用。而 Docker Swarm 的社区和生态相对较小
硬件类问题
RAID0、RAID1、RAID5工作原理及特点?
RAID0:数据被分成条带,同时写入多个磁盘,实现并行读写,提高了读写性能
优缺点:提高了读写性能,但没有数据备份,一旦损坏数据会丢失
RAID1:数据被完全镜像到另一个磁盘上,实现数据的冗余备份
优缺点:安全性高,读写性能好。磁盘利用率低
RAID5:数据和校验信息被分布在多个磁盘上,允许单个磁盘损毁时通过校验信息恢复数据
优缺点:磁盘利用率较高,提供了数据备份,但读写性能一般,重建数据时性能会受影响。
Linux相关命令命令
基本命令
命令 | 操作 | 结果 |
---|---|---|
ls | -a | 显示所有隐式文件内容 |
-l | 输出文件夹详情内容 | |
-S | 对文件夹进行排序,默认为从大到小 | |
-r | 逆转排序 | |
-F | 不同的文件结尾,输出不同的特殊符号。*表可执行文件,@表软连接,/为文件夹 | |
whoami | 显示当前用户名 | |
hostname | 显示当前主机名 | |
pwd | 打印当前所在位置 | |
cd | 进入目录 | |
.. | 返回上一级目录 | |
- | 上一次工作目录 | |
~ | 当前系统登录的用户目录 | |
su | -用户名 | 切换用户 |
mkdir | 文件夹名 | 创建文件夹 |
{文件夹1,文件夹2,文件夹3,.....} | 创建多个文件夹 | |
-p 文件夹 | 递归创建文件夹,若没有相对应的文件夹或目录存在则自动创建 | |
rmdir | 只能删除空的目录 | |
touch | 创建普通文件,不存在的文件则会被创建为空文件 | |
-t | 修改文件的时间 | |
cp | 复制的文件 复制之后的文件 | 复制普通文件 |
test01.txt test02.txt ./rock/ | 一次性复制多个文件放入rock文件夹下 | |
-r 文件夹1 文件夹2 | 复制整个文件夹 | |
-p test01.txt test03.txt | 复制文件属性不变 | |
-d 文件1 文件2 | 软连接的拷贝 | |
-i 文件1 文件2 | 文件1的内容会覆盖文件2 | |
mv | 移动或重命名文件 | |
rocky* /etc/ | 移动所有一rocky开头的文件到etc目录下 | |
旧文件名 新文件名 | 重命名 | |
rm | 删除操作命令 | |
-f | 强制删除,不提示确认 | |
-r | 递归删除文件 | |
-d | 删除空目录 | |
> | cat d.txt > d2.txt | 读取文件并将d中内容写入d2文件中并覆盖 |
> d.txt | 直接清空d中文件内容 | |
>> | cat d.txt >> d2.txt | 追加写入文件内容,把d中文件内容追加到d2中 |
xargs | -n 3 < number.txt | 将文本内容拆成多行,每行只有3个输出 |
cat | 查看或编辑文本内容 | |
-b | 对非空行进行编号 | |
d.txt d2.txt > d3.txt | 合并d1,d2的文本内容到d3的文件中 | |
grep | cat d.txt | grep "1" | 过滤文本,找出d文件中含1的内容 |
sed | 流编辑器,文本编辑工具 | |
"s/My/I/g" test01.txt | 将文本中My全部替换为I | |
awk | Linux的文本报告生成器 | |
‘{print $1}’ access.log| sort -n | uniq -c | sort - nr | head -10 | 查看访问最频繁的10个ip | |
head | -5 d.txt | 显示d文本内容的前5行 |
tail | -2 d.txt | 显示文本内容的最后2行 |
-f | 实时刷新文本内容变化 | |
cut | -c 3 文件名 | 截取每一行的第3个字符 |
-c 3-6 文件名 | 截取每一行第3到第6个字符 | |
-c 4,7 文件名 | 截取每一行第4个和第7个字符 | |
-d ":" -f 3 d.txt | 找出以:为分割的第三个区域内容 | |
sort | -n 文件名 | 以数字进行从小到大排序 |
-u 文件名 | 对文件内容进行去重排序 | |
-n -t "." -k 4 ip.txt | 对ip文件内容以.进行分割第4个区域进行排序 | |
uniq | 可输出或忽略文件中重复的行 | |
-c | 统计每行出现的次数 | |
-d | 只输出重复的行 | |
-u | 只出现一次的 | |
wc | 用于统计文件行数,单词,字节数 | |
-w | 打印单词数 | |
-l | 打印行数 | |
-L | 打印最长行的长度 | |
tr | 转换和删除原字符集 | |
-d | 删除所有第一字符集字符 | |
-s | 把连续重复的字符替换为单独一个字符表示 | |
ln | f1 f2 | 创建硬链接,允许文件有多个有效路径。防止误删文件。删除f1对f2无影响 |
-s 源目标文件 软链接文件 | 创建软链接文件 | |
-sf test01 test02 | test02 ->test01,删除test01对test02有影响 | |
tar | ||
-c | 建立新的压缩文件 | |
-C | 指定解压目录,该目录必须存在 | |
-x | 从压缩文件中提取文件 | |
-f | 指定压缩文件 | |
-j | 支持bzip2解压文件,压缩率最高 | |
-v | 显示操作过程 | |
-z | 支持gzip文件解压 | |
gizp | ||
zip | ||
文件名.zip 文件名 | 压缩单个文件 | |
-r 文件名.zip 文件目录 | 压缩目录文件 | |
unzip | 文件名.zip -d 指定文件目录 | 解压到指定目录中 |
find | / -type f -name '*.py' | 找出服务器上所有一".py"结尾的文件 |
shred | -u 文件名 | 彻底粉碎文件 |
useradd | 用户名 | 添加用户 |
chpasswd | 批量修改用户密码 | |
chmod | u+x 文件名 | 给文件用户组添加可执行权限 |
g+x 文件名 | 给文件组添加可执行权限 | |
o+x 文件名 | 给文件其他组添加可执行权限 | |
0 文件名 | 取消文件所有权限 | |
chown | 新的属主 文件名 | 修改文件的属主 |
-R root:root data | 将data目录下所有内容属主和属组改为root | |
chartter | +i 文件名 | 文件不能被删除,改名,修改内容 |
history | 查看历史命令 | |
mount | 挂载命令 | |
/dev/sdb5 /mnt | 挂载/dev/sdb5到/mnt目录下 | |
df | -h | 将容量结果以易读的方式显示 |
du | -h | 显示磁盘大小文件大小 |
fdisk | -l | 输出后面接的装置所有分区的内容 |
pstree | 显示进程 | |
netstat | -tunlp| grep 3306 | 监听数据库是否运行 |
-tunlp| grep 80 | 监听web服务是否运行 | |
-tunlp| grep 443 | 监听https服务是否运行 | |
wget | url路径 | 下载网页资源 |
--limit-rate=1k url路径 | 限制下载速度为1k | |
alias,unalias | 命令别名 | |
usermode | -a -G wheel username | 将用户组提到wheel组后进行提权就不会被警告 |
systemctl | stop firewalld | 关闭防火墙 |
disable firewalld | 禁止开机启动防火墙 | |
restart network | 重启网络 | |
reboot | 重启系统 | |
service | network restart | 重启网络服务 |
正则表达式
^ | ^old | 匹配以old单词开头的行 |
---|---|---|
$ | ^old$ | 匹配以old单词结尾的行 |
^$ | 组合符表示空行 | |
. | 匹配任意一个且只有一个字符,不能匹配行 | |
\ | 转义符 | |
* | 匹配前一个字符0次或1次以上 | |
.* | 组合符,匹配所有内容 | |
^.* | 组合符,匹配任意多个字符开头的内容 | |
.*$ | 组合符,匹配任意多个字符结尾的内容 | |
[abc] | 匹配[]集合内任意一个字符a、b或c | |
[^abc] | 匹配除了^后任意字符 |
docker容器命令
docker | images | 列出本地镜像 |
---|---|---|
run | 创建并运行一个新的容器 | |
rm | 删除一个或多个容器 | |
ps | 列出本地容器 | |
-v | 查看docker版本 | |
build | 根据Dockerfile构建镜像 | |
network ls | 查看docker网络配置 | |
logs | 查看容器日志 | |
logs -f | 查看实时更新的日志 | |
volume create 卷名 | 创建数据卷 | |
--mount | 挂载数据卷 | |
volume ls | 查看当前数据卷 | |
volume rm | 删除数据卷 | |
systemctl | start docker | 启动docker |
enable docker | 开机自启动 | |
status docker | docker容器状态 | |
daemon-reload | 刷新daemon.json文件配置 |