二十六、Docker (2)

news2024/11/28 9:27:21

🌻🌻 目录

  • 一、Docker的常用命令 (阶段A)
    • 1.1 帮助命令
    • 1.2 镜像命令
    • 1.3 容器命令
      • 1.3.1 新建容器并启动
      • 1.3.2 列出所有运行的容器
      • 1.3.3 退出容器
      • 1.3.4 删除容器
      • 1.3.5 启动和停止容器的操作
    • 1.4 常用的其它命令
      • 1.4.1 后台启动容器
      • 1.4.2 查看日志
      • 1.4.3 查看容器中进程信息
      • 1.4.4 查看镜像的元数据
      • 1.4.5 进入当前正在运行的容器
      • 1.4.6 从容器内拷贝文件到主机上
  • 二、Docker的常用命令 (阶段B)
    • 2.1 Docker镜像操作常用指令
      • 2.1.1 搜索镜像
      • 2.1.2 下载镜像(截图👇)
      • 2.1.3 列出本地镜像
      • 2.1.4 保存镜像
      • 2.1.5 删除本地镜像
      • 2.1.6 加载镜像(将上面备份镜像还原)
    • 2.2 Docker容器操作常用指令
      • 2.2.1 新建并启动容器(截图👇)
      • 2.2.2 列出容器
      • 2.2.3 停止容器
      • 2.2.4 强制停止容器
      • 2.2.5 启动已经停止容器
      • 2.2.6 重启容器
      • 2.2.7 进入容器
      • 2.2.8 拷贝文件到容器
      • 2.2.9 拷贝容器中的文件到本地
      • 2.2.10 目录挂载
      • 2.2.11 删除容器
      • 2.2.12 查看容器ip

注:阶段A和阶段B本质一样,阶段B相当于对阶段A的温故

一、Docker的常用命令 (阶段A)

1.1 帮助命令

docker version   			 #显示docker版本信息
docker info					#显示docker的系统信息,包括镜像和容器的数量
docker  --help  	 		#万能命令,帮助命令

帮助文档的地址

在这里插入图片描述

1.2 镜像命令

docker images 查看所有本地的主机上的镜像

docker images

在这里插入图片描述

解释上面命令

[root@bogon ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   15 months ago   13.3kB

# 解释:
REPOSITORY			     镜像的仓库源
TAG 				     镜像的标签
IMAGE ID            	 镜像的id
CREATED					 镜像的创建时间
SIZE 					 镜像的大小

#可选项
Options:
  -a, --all           列出所有镜像
     
  -q, --quiet         只显示镜像的id

在这里插入图片描述

官网搜索镜像

在这里插入图片描述

1. docker search docker 搜索镜像

 docker search      #docker 搜索镜像

在这里插入图片描述

官网搜索如下显示,也是一样的

在这里插入图片描述

在这里插入图片描述

# 可选项,通过搜索来过滤
docker search mysql --filter=STARS=3000     #搜索出来的镜像STARS就是大于3000的

在这里插入图片描述

2. docker pull 下载镜像

#下载镜像
docker pull mysql

在这里插入图片描述

对上面的下载进行解释:

#下载镜像  docker pull  镜像名 [:tag]
[root@bogon ~]# docker pull mysql     
Using default tag: latest    #如果不写 tag,默认就是latest  即最新的镜像
latest: Pulling from library/mysql
72a69066d2fe: Pull complete   # 分层下载,docker images的核心   联合文件系统
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:latest     
docker.io/library/mysql:latest    #真是地址
#等价于它
docker pull mysql
docker pull docker.io/library/mysql:latest
docker pull mysql:5.7     #拉取对应版本的镜像(这个版本官网一定是存在的,才会拉取成功)

docker images   #查看拉取下来的镜像

在这里插入图片描述

3. docker rmi #删除镜像

docker rmi 镜像对应id     #删除对应id的镜像

docker rmi -f $(docker images  -aq)   #删除所有的镜像

在这里插入图片描述

1.3 容器命令

说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习

docker pull centos

1.3.1 新建容器并启动

docker run [可选参数]  image

#参数说明
--name="Name"    容器名字   tomcat01  tomcat02,用来区分容器
-d				 后台方式运行
-it				 使用交互方式运行,进入容器查看内容
-p		         指定容器的端口  -p   8080:8080
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口(常用)
	-p	容器端口
-p				 随机指定端口

在这里插入图片描述

exit     	#从容器中退回到主机

在这里插入图片描述

1.3.2 列出所有运行的容器

#docker ps 命令
		docker ps   #列出当前正在运行的容器
-a      #列出当前正在运行的容器+带出历史运行过的容器
-n=?    #显示最近创建的容器
-q      #只显示容器的编号

在这里插入图片描述

1.3.3 退出容器

exit   # 直接容器停止并退出

ctrl + p +q    # 容器不停止退出

在这里插入图片描述

1.3.4 删除容器

docker rm  容器id				          #删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -rf
docker rm -f $(docker ps -aq)             #删除所有的容器
docker ps -a -q | xargs docker rm         #删除所有的容器(扩展)

在这里插入图片描述

1.3.5 启动和停止容器的操作

docker start   容器id    #启动容器
docker stop   容器id     #停止当前运行的容器
docker restart 容器id    #重启容器
docker  kill   容器id    #强制停止当前运行的容器

在这里插入图片描述

1.4 常用的其它命令

1.4.1 后台启动容器

# 命令  docker run -d 镜像名
docker run -d centos

#问题 docker ps,发现 centos 停止了

#常见的坑,docker 容器使用后台运行,就必须要有有个前台进程,docker发现没有应用,就会自动停止
#nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

在这里插入图片描述

1.4.2 查看日志

docker logs --help

docker logs -f -t --tail 容器,没有日志

在这里插入图片描述

1.4.3 查看容器中进程信息

# 命令 docker top 容器id

docker top   容器id

1.4.4 查看镜像的元数据

#  命令 docker inspect 容器id

docker inspect --help

docker inspect  容器id

在这里插入图片描述

1.4.5 进入当前正在运行的容器

# 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

#命令
docker exec -it  容器id  /bin/bash

在这里插入图片描述

#  docker exec  #进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach  #进入容器正在执行的终端,不会启动新的进程

在这里插入图片描述

1.4.6 从容器内拷贝文件到主机上

docker cp

[root@bogon ~]# clear
[root@bogon ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS          PORTS     NAMES
8925cb9c72f0   centos    "/bin/bash"   3 minutes ago   Up 19 seconds             heuristic_borg

#  进入docker容器内部

[root@bogon ~]# docker attach 8925cb9c72f0
[root@8925cb9c72f0 /]# cd /home 

#查看当前主机目录下

[root@8925cb9c72f0 home]# ls

# 在容器内新建一个文件

[root@8925cb9c72f0 home]# touch text.java
[root@8925cb9c72f0 home]# exit
exit
[root@bogon ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@bogon ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED             STATUS                         PORTS     NAMES
72e46a75953e   centos    "/bin/bash"              3 minutes ago       Exited (127) 2 minutes ago               serene_dubinsky
8925cb9c72f0   centos    "/bin/bash"              3 minutes ago       Exited (0) 11 seconds ago                heuristic_borg
bb3f12a2ab0d   centos    "/bin/bash"              59 minutes ago      Exited (0) 57 minutes ago                friendly_lehmann
fa0d7faade3e   centos    "/bin/sh"                About an hour ago   Exited (130) 5 minutes ago               gifted_wozniak
94f46ccde94e   centos    "/bin/sh -c 'while t…"   About an hour ago   Exited (1) About an hour ago             nervous_nightingale
1858da512434   centos    "/bin/bash"              2 hours ago         Exited (0) 2 hours ago                   compassionate_snyder
2d1c76e78323   centos    "/bin/bash"              2 hours ago         Exited (0) 2 hours ago                   naughty_swanson
04c5ac20aa10   centos    "/bin/bash"              2 days ago          Exited (0) 2 days ago                    upbeat_hodgkin
[root@bogon ~]# ls
anaconda-ks.cfg

#将这个文件拷贝出来到主机上

[root@bogon ~]# docker cp 8925cb9c72f0:/home/text.java /home
[root@bogon ~]# ls
anaconda-ks.cfg
[root@bogon ~]# 

在这里插入图片描述

二、Docker的常用命令 (阶段B)

2.1 Docker镜像操作常用指令

2.1.1 搜索镜像

可使用docker search 命令搜索存放在Docker Hub中的镜像

docker search tomcat

在这里插入图片描述

列说明:

  • NAME:仓库名称
  • DESCRIPTION:镜像描述
  • STARS:用户评价,反应一个镜像的受欢迎程度
  • OFFICIAL:是否官方
  • AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

2.1.2 下载镜像(截图👇)

使用命令docker pull 命令即可从Docker Registry上下载镜像。

docker pull idmcore/java8u161
  • 执行该命令后,Docker会从Docker Hub中的java仓库下载最新版本的Java镜像
  • 执行该命令后,Docker会从从指定的Docker Registry中下载标签为8的Java镜像。

2.1.3 列出本地镜像

使用docker images 命令即可列出已下载的镜像。

docker images
  • 执行该命令后,将会看到类似于如下②的表格:
  • REPOSITORY:镜像所在的仓库名称
  • TAG:镜像标签
  • IMAGE ID:镜像ID
  • CREATED:镜像的创建日期(不是获取该镜像的日期)
  • SIZE:镜像大小

这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

2.1.4 保存镜像

使用docker save 即可保存镜像。
执行命令:docker save -o /java8u161.tar idmcore/java8u161

docker save -o /java8u161.tar idmcore/java8u161  #将java8u161压缩备份到根目录下面

-o 参数后面跟要把镜像保存的文件路径和名称

在这里插入图片描述

2.1.5 删除本地镜像

使用docker rmi 命令即可删除指定镜像。

执行命令1: docker rmi 5942263ae165

docker rmi 5942263ae165
  • 执行以上指令,就会删除idmcore/java8u161这个镜像

注意:已经使用镜像创建过容器的不能删除

  • 执行命令2:docker rmi -f $(docker images)
docker rmi -f $(docker images)

执行以上指令,就会删除全部镜像

在这里插入图片描述

2.1.6 加载镜像(将上面备份镜像还原)

使用docker load 即可加载镜像

docker load -i java8u161.tar

-i参数后面跟要加载的文件路径和名称

在这里插入图片描述

2.2 Docker容器操作常用指令

2.2.1 新建并启动容器(截图👇)

使用以下docker run 命令即可新建并启动一个容器。该命令是我们最常用的命令了,它有很多选项,下面列举一些常用的选项。

  • ① -i选项:表示运行容器
  • ② -d选项:表示后台运行
  • ③ -t:表示容器启动后会进入其命令行。加入it这两个参数后,容器创建就能登录进去。即分配一个伪终端。
  • ④ -P选项:随机端口映射
  • ⑤-p选项:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
  • ⑥–name :指定容器的名称
  • ⑦ –network选项:指定网络模式,该选项有以下可选参数:
    –network=bridge: 默认选项,表示连接到默认的网桥。
    –network=host:容器使用宿主机的网络。
    –network=container:NAME_or_ID:告诉Docker让新建的容器使用已有容器的网络配置。
    –network=none:不配置该容器的网络,用户可自定义网络配置。

执行命令2:

docker run -it --name=java888 idmcore/java8u161 /bin/bash
  • 就能启动一个 idmcore/java8u161 容器,并进入到容器的命令行终端。在本例2个参数,含义如下:
 -t             #容器启动后会进入其命令行
 -i             #运行容器
 --name         #指定容器的名字

2.2.2 列出容器

使用docker ps 命令即可列出运行中的容器。执行该命令后,可看到类似于如下的表格。

执行命令:

docker ps  -a
  • 如需列出所有容器(包括已停止的容器),可使用-a参数;只查看已经退出的容器使用-q参数
    该表格包含了七列,含义如下:
  • ① CONTAINER_ID:表示容器ID。
  • ② IMAGE:表示镜像名称。
  • ③ COMMAND:表示启动容器时运行的命令。
  • ④ CREATED:表示容器的创建时间。
  • ⑤ STATUS:表示容器运行的状态。Up表示运行中,Exited表示已停止。
  • ⑥ PORTS:表示容器对外的端口号。
  • ⑦ NAMES:表示容器名称。该名称默认由Docker自动生成,也可使用docker run命令的–name选项自行指定。
  • 参数 -a 表示列出全部容器包括正在运行的和已经停止的
  • 参数 -q 表示只显示容器的id

在这里插入图片描述

在这里插入图片描述

2.2.3 停止容器

使用docker stop 命令,即可停止容器

执行命令:

docker stop bd7e8eeba434

其中bd7e8eeba434 是容器ID,当然也可使用docker stop 容器名称 来停止指定容器。

在这里插入图片描述

2.2.4 强制停止容器

可使docker kill 命令停止一个或更多运行着的容器。

执 行令:

docker kill 784fd3b294d7

2.2.5 启动已经停止容器

使用docker start 命令,即可启动已经停止的容器。
执行命令:

docker start c9d78b7c2bed

其中 c9d78b7c2bed 是容器ID,当然也可使用docker stop 容器名称 来启动指定容器。

2.2.6 重启容器

可使用docker restart 命令重启一个容器。该命令实际上是先执行了docker stop 命令,然后执行了docker start 命令。
执行命令:

docker restart 784fd3b294d7

2.2.7 进入容器

一些时候,我们可能需要进入运行中的容器。
使用docker exec 命令进入容器
执行命令:

docker exec -it bd7e8eeba434 /bin/bash

在这里插入图片描述

2.2.8 拷贝文件到容器

如果我们需要将文件拷贝到容器内可以使用docker cp命令

执行命令1:

docker cp bbb.txt  ava888:/root
  • 参数说明:容器名称:容器目录 需要拷贝的文件或目录
    执行以上命令即可把容器中的文件拷贝到宿主机指定目录。 (容器拷贝到容器中)

在这里插入图片描述

步骤一:

在这里插入图片描述

步骤二:

在这里插入图片描述

步骤三:

在这里插入图片描述

步骤四:

在这里插入图片描述

步骤五:

在这里插入图片描述

2.2.9 拷贝容器中的文件到本地

执行命令2:

docker cp java888:/root/bbb.txt /usr/local
  • 参数说明:需要拷贝的文件或目录 容器名称:容器目录
    执行以上命令即可把本地文件拷贝到容器指定目录。(容器拷贝到本地)

在这里插入图片描述

2.2.10 目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。

docker run -di -v /demoo:/root/ddd --name java81 idmcore/java8u161
  • 参数说明:创建容器 添加-v参数 后边为 宿主机目录:容器目录
    如果你共享的是多级的目录,可能会出现权限不足的提示。

在这里插入图片描述

这是因为 idmcore/java8u161 中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题

docker run -di -v /demoo:/root/ddd  --privileged=true --name=java81 idmcore/java8u161

步骤一:

在这里插入图片描述

步骤二:

在这里插入图片描述

步骤三:查看是否挂在成功

在这里插入图片描述

2.2.11 删除容器

使用doker rm 命令即可删除指定容器

执行命令1:

docker rm bd7e8eeba434

删除指定容器,该命令只能删除已停止的容器,如需删除正在运行的容器,可使用-f参数。
执行命令2:

docker rm -f $(docker ps -a -q)

删除所有的容器。

在这里插入图片描述

2.2.12 查看容器ip

我们可以通过以下命令查看容器运行的各种数据

执行命令1:

docker inspect java7

也可以直接执行下面的命令直接输出IP地址

执行命令2:

docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos2

最后跟容器的名称。

在这里插入图片描述

在这里插入图片描述

停掉上面的所有容器,进一步进行总结咯✌✌

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何搭建私域流量?

如今已经进入存量用户时代,越来越多的企业也明白了存量用户的重要性,因此企业都非常重视私域流量的搭建,以挖掘客户的价值。 前言 如今已经进入存量用户时代,越来越多的企业也明白了存量用户的重要性,因此企业都非常重…

安卓搭建好的模拟机,为调试准备

​ 这一节直接分享制作好的虚拟机,镜像系统,以及安卓源码,直接节省你的时间去配置,编译。 下来我来分享下搭建步骤: 1 虚拟机下载vm 12 pro ,这个网上百度就可以,原则13,14也都是可以的。 2 下…

移动魔百盒CM311-3-YST-晨星MSO9385-语音首页正常-TTL刷机包

移动魔百盒CM311-3-YST-晨星MSO9385-语音首页正常-TTL刷机包 固件特点: 1、三网通用; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、无开机广告,无系统更新,不在被强制升级; 4、大量精简内置的没用…

熬夜搞了 17000 字,终于把你这个 ES 玩明白了

平常经常用ES(ElasticSearch), 觉得这真是个好玩意儿,所以来分享一篇文章,希望通过这篇文章能让读者大致了解ES是做什么的以及它的使用和基本原理。 可能有的读者航海不知道ES是个啥玩儿,别着急,看完本文后,相信你会了…

import...from... 和 require 如何找到模块位置?

import Vue from "vue"; 为什么不用写相对地址和绝对地址就能够导出 Vue 呢?似乎也没有配置路径?也没有配置映射,那么究竟 from "vue"; 对应的究竟是那个路径呢? 先提出两个可能的方案 1.VS Code/WebStorm …

【每天学习一点新知识】nmap端口扫描

nmap所识别的6个端口状态open(开放的)应用程序正在该端口接收TCP 连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍…

Java封装公共Result结果返回类

前言 在使用Java开发接口请求中,我们需要对请求进行进行统一返回值,这时候我们自己封装一个统一的Result返回类,下面就介绍下我用的这种的这个类 当然,也可以使用第三方库封装的Result结果返回类,根据个人喜好选择即可…

学习笔记之Vue脚手架(三)

(三)使用Vue脚手架 使用Vue脚手架(三)使用Vue脚手架一、创建Vue脚手架1.1 说明1.2 具体步骤二、分析脚手架结构2.1 配置文件2.2 src文件夹2.3 public文件夹一、创建Vue脚手架 1.1 说明 1.Vue脚手架是Vue官方提供的标准开发工具&…

电脑技巧:分享常用的电脑快捷键

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

Nutanix 替代专题 | SmartX 与 Nutanix 超融合市场、技术与性能对比

2022 年 8 月 19 日,Nutanix(路坦力)宣布中国市场自 2023 财年起将转型为合作伙伴销售主导模式,引起了广泛关注;同时结合当前 IT 基础架构的国产化趋势背景,不少正在使用和考虑使用 Nutanix 产品的企业开始…

js 跨域访问问题解决方法

什么引起了ajax不能跨域请求的问题? ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。 有什么完美的解决方案么? 解决方案有不少,但…

数字化门店管理|如何让门店数字化管理,更加贴合日常运营细节?

在赋能品牌门店数字化管理的过程中,帷幄既注重前沿 AI 算法带来的技术驱动力,也注重基于门店管理中的真实场景与需求,让算法更贴合业务实际需求,从而带来运营优化与降本增效。 1 月,「帷幄数智空间 Whale SpaceSight」…

植物大战 动态内存——C++

这里是目录标题前言动态内存分布如何理解C语法的增加newnew用法关于struct和class的使用关于free和delete的区别。背会这句话抛异常operator new和operator delete内存池new和delete原理定位newmalloc和new的区别是什么?内存泄漏前言 总结复习前面的知识。 注意&a…

一文带你了解什么是云计算网络运维工程师,以及2023年的就业前景

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.云计算网络运维工程师是做什么的? 二.作为一名云计算网络运…

MyBatis(用于简化JDBC开发)

MyBatis是一款持久层框架,用于简化JDBC开发 持久层:将数据报错到数据库,持久化更改的意思 javaEE三层架构:表现层(页面)、业务层(处理逻辑)、持久层(数据永久化更改&am…

拉伯证券|人心动了?刚刚,A股、港股大涨!

昨日A股传言较多,引发波动。上一年10月底11月初,也有类似情况。换个视点看,这说明人心开端动了,至于怎样个“思变”法,市场可能现已给出了答案! 今天上午,A股大涨,北向资金净流入110…

cs231n-2022-01 Assignments1-numpy的使用

numpy的使用 Numpy是Python中科学计算的核心库。它提供了一个高性能的多维数组对象,以及处理这些数组的工具。如果你已经熟悉MATLAB,你可能会发现这个教程对开始使用Numpy很有用。 运行并阅读cs231n课程网站上提供的示例代码,感觉十分简洁&a…

TIA博途SCL学习_堆栈的入栈和出栈(后入先出)程序示例

TIA博途SCL学习_堆栈的入栈和出栈(后入先出)程序示例 如下图所示,添加一个FB块,语言选择SCL,命名为“入栈”, 如下图所示,通过FOR循环实现堆栈数组内的元素的移动,并将入栈的数据赋值给数组的第一个元素, 如下图所示,添加一个全局DB块,在该DB块中添加一个长度为10…

Visio中插入Mathtyp公式

Visio中插入Mathtype公式 打开visio软件,依次点击“插入”–“对象”–“mathtype 6.0 equation”–“确定”,也可以得到我们想要的公式。 点击“对象”,然后显示出Mathtype公式 点击“Mathtype 7.0”,然后显示公式框 Way 1&a…

win10和win11鼠标灵敏度修改和大小颜色其他等步骤

目录 一、前言 二、win10鼠标设置 1.进入鼠标设置界面 2.鼠标速度的调节 3.鼠标大小和颜色的调节 4.鼠标其他设置 三、win11鼠标设置 1.进入搜索界面 2.鼠标大小和颜色设置 3.鼠标的移动灵敏速度设置 4.鼠标图标的自定义 一、前言 在使用电脑鼠标时候,会觉…