粉丝1667获赞4963

在使用多考部署服务的时候,你会发现这个目录下面的一个磁盘占用空间会非常大,一个是由于我们的日志问题,还有一个是由于我们这个下面没有使用的一些迹象,或者说一些数据卷没有被删除,下面我们来演示下如何去解决这些问题。 首先我们在运行容器的时候,我们可以去配置这么两个参数,就可以去控制日志文件的大小。一个是我们可以配置单个文件,比如说最大为三十兆,以及我们最大的日志文件数为三个,然后我们就可以去运行我们的容器了,这里运行下, 这里我们可以进入相应的日志文件部落,嗯,在这下面就会有这么一个节省的日志文件,然后我们来请求一下服务接口,去增加相应的日志,并且去查看一下这个日志文件大小,这里 现在是十二兆,那我们都请求一下,刚才我们控制的是单个文件为三十兆,现在到达三十兆之后,我们就会产生一个新的日志文件,我们这里可以再多执行几次, 他最大会产生三个日志文件,也就说这上面这个日志文件到达三十兆之后,他就会变成下面的接成一二,最大的一个日志文件数为三个 占,便做到了我们的日制控制,但这种方式只是在容器运行的时候去控制,如果说想要全局配置的话,我们可以去修改这么一个配置文件,去添加如下配置。 再者你会发现这里有这么一个目录,你会发现他的占用空间也会很大,如何去解决他呢?我们可以通过这条命令去自动清理空间,他会帮我们去处理已经停止的容器,或者说没被使用的一些迹象。再者我们也可以 使用这条命令去及时的去清理我们没有使用的数据键,因为这些都相对比较大。但使用这两条命令的前提是我们的一个数据不是很重要的,因为它是自动清理。如果说你的数据非常重要的话,建议还是去手动清理吧。 如果说你的服务只是去部署类似于家外这种状态的服务,那么我们就可以去使用这些命令去及时清理了。相关的笔记可以去参考我这里的多个康博日仓库。 整体来说这个还是比较简单的,一个是去控制我们容器的日制大小,另外是去清理我们没被使用的一些数据券,或者说镜像容器等等之类的。这一条龙服务下来,相信我们的这个木头下面的磁盘空间就会得到有效控制了。


给大家录制一个视频,主要是介绍一下这个 opencall, 它到底在我们的机器上面通过 dog 方式到底是怎么安装的,我们大家来介绍一下。那么 opencall 最近也很火,当然目前它还是有安全性的一些问题,所以我们一般建议你不要装在你自己的电脑上面,最好呢是通过这个容器的方式 创建这样一个虚拟和一个沙乡隔离的一个环境去运行。那我们今天这个视频主要是给大家介绍一下,到底怎么来通过容器的这种方式来运行。欧本靠就是龙虾,好吧,我们首先先给大家介绍一下他,其实 首先我们还是要在我们的电脑上面要把这个龙虾的项目给下载下来,要把这个龙虾的项目给下载下来,我是下载下来之后你就可以首先你可以要做一个翻译的这样一个动作,一般我们是这个这个脚本 运行这个脚本,运行这个脚本之后呢,他就会处理打包这个过程当中,如果他打包成功给大家看一下,他会创建一个这样的一个容器,我们靠点 点 logo 的 一个这样一个镜像,这个镜像打完之后你再运行下面一个命令,就是这个命令主要是做 配置文件的初识化,就我自己跑了一下,就尽可能你初识化,不要让他配,你可以很多东西可以不用配,你到启动了这个网关之后,你再来配置只说这个网关,启动网关之后再来配置这个东西,他这个地方最主要的一个地方是什么?如果你是要去安装这个 oppo, 靠,你要 他会生成这样的一个东西,这个地方是大家要注意他会生成这样一个 token, 就 在你的本地,你要通过这个 token 的 这个方式去打开外部的界面,当然这个外部界面有可能你是会打开失败的,因为什么他这个地方是要做一个配对,所以这个地方你要把,要,要把你的这个设备要给列出来,你要访问到这个容器里面去, 你要访问到这个容器里面去看一下,你要到这个容器里面去,你要去看一下这个是表说如果你发现他的,当然我们目前已经设置好了,如果他这个地方没有连接上,那你要打这三个命令,就这个 compose run 这个 开,你再要跑一个这样的一个设备的一个 list, 你 把这个它这个会列出来,有一个 request id, 把这个 request id 填进去,你再同意一下,那这样控制面板就可以连接到这个设备上面去就可以了。连接到设备上面去之后,因为我们原来的很多东西都没有配,所以你在这个地方可以做一个配置,配置最主要主要是配置模 模型这部分,那模型我目前配我自己是配了一个统一千万,统一千万三点五二十七, b f p 八的一个模型, 通过这种模拟他就可以在你本地,如果你配置完之后,你本地就可以去聊天了,只说你可以问,他就会告诉你本地运行的是我当地配的是通一千万,通一千万三点五二十七, b f p 八的这个模型,配置是在这个地方的, 我给大家看一下这个 skill 包,它这个 beauty 的 skill 包,它大概有五十三个,它有各种各样的,包括有什么苹果 note, 有 骑行,有各种各样 block watch 啊,这里有各种各样的一些工具,包括有些工具它是要设这个 sdk 的, 包括写代码的钉子,它也可以让它去写。这个是飞书的,它缺少一个飞书的一个叫 web walk, 你 只要把它植入进去呢,这个 飞书的聊天里面,它就可以去链接这样的一个东西,像这种它要注入这个 s e p i 的 聊天里面,它就可以起用这些技能, 包括这个呃, google 查询的地图地理位置,包括还有一些 nano banana 画图的一些工具,其实你都是可以注入进去, 是编辑 pdf 的, 它都是有些工具,都是有些工具来处理这些事的,包括还有一些语音的输入,各种各样的功能, 当然这些功能你也可以再进一步去添加你自己要的一些新的功能,这个也是可以的。好,那我们再给大家看一下频道,频道它目前支持的频道还是非常多的,我们给大家看一下频道这消息渠道,我们看了一下,它主要是支持国外的为主,国内的像这种飞书什么呢,它都是需要企业版,企业版本包括 teams, 包括 企业微信他也是可以支持的,但是企业微信他支持会比较麻烦,他还要做一些 a p i ip 的 一些白名单,还要做一些域名的设置,比较麻烦,所以一般个人用的不太多,但对国外来讲他是比较能用的,像这种国外目前都能,当然在国内,目前这种 app 下载都是在中国是不能下载的, 有些问题,所以这个龙虾在中国用起来可能就会有些限制,或者是说不是很完善。这个是消息渠道模型就比较简单,它可以配置各种各样的模型,包括各种各样的,这个是比较简单的,就配置一下就行了。 skill 工具,内在工具也是有很多,有浏览器,有各种 skill 包啊,这种 skill 的 配置,这个主要就是做一些能力的,包括有些定时任务, 这个都是可以做的,功能还是非常强大的,它这个功能是非常强大的,那要整体要完全玩会,它还是要花点时间来弄。一般我们目前安装就建议大家用 lock 的 这种方式,它会跟我们的那个机器做一些隔离,它也沙箱也运行在这样的一个 lock 环境当中,那这样相对来讲它会更加安全。好, 我们今天简单给大家介绍一下怎么去部署 open call 这样的一个方式去部署这样一个环境好。

大家好,我是航仔,今天呢,我们继续来说 open code 啊,第一期呢,给大家说了一下如何在 windows 当中安装 open code 和使用啊。第二期呢,给大家介绍一下在 nas 当中如何来使用 document 版进行 open code 的 安装和使用。 首先要说一下区别啊, windows 当中安装呢,它的权限是极大的,它可以操作里面所有的软件和访问所有的硬盘资源啊。上一期给大家讲的 nas 的 dolphin 版呢,它就只能访问 dolphin 路径映像的那个目录,同时呢也只能在 dolphin 内部使用对应的应用程序, 它是无法访问 nas 里所有的资源,也不能够使用 nas 里面各类应用程序的。所以今天呢,我就给大家介绍一下如何在 nas 当中直接安装 open code, 这样的话呢,就让它的能力啊彻底放飞,实现它的功能最大化。这种情况下,它跟龙虾 open cloud 的 差距呢,就非常的小了, 很多功能呢就都可以实现啊,只是看大家的想象力了。不过这里呢,我还是要事先提醒一下啊,功能越大越自由,也同时意味着越危险。 我不建议大家在自己的阻力纳斯上进行安装,大家最好呢是使用虚拟机或者是单独的物理机啊来进行安装,尤其在你测试阶段啊,在你长时间使用一段时间之后,你比较熟悉它的使用方法之后啊,你再考虑在你的阻力纳斯上进行安装, 因为如果你在你的生产环境或者是你的阻力纳斯上安装,一旦你的操作失误啊,产生的后果一定是非常灾难性的。另外啊,本着对数据安全的原则, 你尽量呢是操作已经备份过的这些文件,不要直接操作原文件啊,这里重要的话我再重复一遍啊,一定不要在你的主力设备上安装,一定不要在你的生产环境上安装,如果一定要安装,也要在完全熟悉之后,同时呢尽量不要操作原数据,而是要操作备份数据啊,这样的话呢才比较安全。 然后我们就开始今天具体的内容啊,首先呢我们先来看一下文档,在横灾本灾当中,左侧这里就有一个五二六,那是直接安装 open code 的, 我们直接点击一下, 然后我们点击网盘分享,然后我们继续向下啊,这里面呢只有一个安装步骤的文档,我们下载到本地,打开一下 可以看到啊,今天的内容呢一共就有两大部分,第一部分呢是具体的安装步骤,第二部分呢是我的好用宅,本宅大家爱去使用就可以了。安装步骤当中呢一共分了三大步,第一步呢是安装环境,第二步呢是安装 open code 啊这个本身。第三部分呢就是如何来进行访问, 我分别给大家演示一下啊。首先呢我们要安装一下 gs 环境,因为如果你不安装这个环境啊,你直接使用 opencode 的 官网的安装方式呢,也是可以的,但是我这里安装呢,它遇到的问题就比较多,所以说呢,我们还是使用 npm 也就是 java script 这种环境啊来进行安装这种安装呢比较顺利。 这里呢我给大家简单的看一下啊,环境安装呢,其实非常的简单,大家看这个命令就能看出来啊,第一个呢是 a p t update 啊,第二个呢就是 a p t install, 这些都是我们系统里自带的命令啊,前面的 ceo 呢就是要用管理员权限, 如果你是用 root 权限的话,那么前面的 c u d 呢就没有必要用了,如果你是普通用户的话,前面就要加 c u d 啊,这里给大家说一下,然后我们打开一个终端来具体操作一下啊,打开终端之后呢,我们输入一下啊, c u d 杠 i, 然后回车,然后接下来呢输入一下管理员密码啊, 前方从好用变成了 root, 表示我们已经进入了管理员权限啊,然后呢我们就复制命令,一条一条来操作一下。 首先如果你是普通用户,你就用这个十六度的命令,因为我们已经进入了管理员权限嘛,我们就不用前面那个十六度了,直接复制这里就可以,我们复制,然后呢右键粘贴回车这里呢它就去更新一下软件源啊, 好的,更新完毕了,接下来呢我们执行第二条命令。第二条命令呢 app store npm, 也就说我们要安装 npm 这个环境啊,我们直接复制, 然后右键粘贴,然后回车。这个安装的速度呢都是比较快的,大家稍微耐心等待一下就好了。我这里呢是以飞牛来进行演示啊,但是因为 pve 绿联和飞牛底层呢都是待变系统,所以说这些命令呢,基本都是通用的,这是中间的一个过程啊,也就是要跑这个进度条,我们要等这个进度条跑完啊,稍微等一下, 好的,大概三分钟左右啊,就已经安装完毕了,然后我们就是来查看一下安装的结果,这两条命令呢,一个是查看 node 的 版本号,一个呢是查看 npm 的 版本号,我们把这个复制一下啊,同样到中专当中来呢,右键粘贴,然后回车。 这里呢可以看到两个的版本号呢,分别都已经显示出来了,也就说我们这个环境呢,已经安装的彻底成功了,我们就可以看下一步了。 第二步呢,我们就是要来安装 opencode 啊, opencode 的 官网呢,在这里我先给大家看一下啊,这个呢就是 opencode 的 官网,你可以直接用这条命令啊来直接进行安装,它是不用安装 npm 环境的,但是我安装的不太顺利啊,所以说我就不推荐大家用这个方法直接进行安装了。第二种方法呢,就是我们用的这个啊, npm 你只需要复制一下这条命令,然后就可以安装了。不过这个命令呢,安装的是有前提的,就是说你最好呢是有魔法环境,如果你的网络不够畅通呢,你可能还是会非常的慢啊。所以说呢,我们要第一步先更换一下管理员, 这条命令呢就是设置国内源,你一旦设置成了国内的源,你用 n p m 来进行安装其他的软件呢,速度就非常快了。所以说呢,我们第一条啊,先把这条命令复制一下,同样因为我们已经在 root 环境了,我们就不用这个速度了啊,然后我们复制在这个里面呢,右键粘贴,然后回车。 现在呢,我们就已经把 npm 它的源啊换成了国内的。再接下来呢,我们就可以用这条命令啊来进行安装了,这条命令就是官网的这个命令啊,杠 i 就是 install, 剩下的都是一样的,大家直接复制官网的命令也是一样的啊,然后呢,我们在终端当中右键粘贴,然后回车, 接下来呢大家耐心等待就可以了,这个安装的速度呢,就要比原先啊要快的很多,我们稍微等一下,好的,已经安装完毕了啊,你可以看到一共就十二秒,如果你不用国内原的话,这个安装的速度啊非常的慢,会卡在某一个部分。 到此呢,我们的第一步和第二步就已经完全安装完毕了,实际上还是不复杂的,对吧?然后呢我们就开始第三步啊, 我们就来开始看一下如何访问访问呢,有两种方法,第一种呢是通过终端的方式,上一期呢给大家讲了一下如何用终端的方式来访问啊,其实那很简单,你直接在命令行当中呢,直接输入 open code 就 可以访问了,我们直接来操作一下。我们这里呢直接输入一下啊 open code, 然后回车, 可以看到直接就打开了 open code 的 主界面啊,默认的呢是用的这个模型,我们还是先切换一下模型啊,大家还记得怎么切换吗?直接按一下键盘这个杠啊,斜杠,然后我们就可以向下选啊,当然你也可以输入猫兜,但是如果你不想输入呢,直接向下选,选择这个猫兜子,也就这模型,我们直接回车。 然后呢我们继续向下选啊,选到这个 mini max m 二点五 free, 我 们直接回车。现在呢我们的大模型呢就已经切换完毕了,接下来呢我们就直接用自然语言跟它聊天就可以了,这里呢我们输入一下啊,你好,然后回车, 接下来呢他就开始正常的进行对话了,我们稍微等一下啊,可以看到他是有反应的,这里呢也就说明我们的安装呢已经成功了。接下来呢我给大家看一下他具体能够做什么了啊,我这里呢还是抛砖引玉,主要呢是给大家看一下他和刀客版的区别啊。 这里呢我们就让他查看一下 vr 一 一千 toad 这个目录下有什么?查看我视频的朋友都知道啊,这个 toad 目录呢就是我所有 toad 程序的配置目录。然后呢我们直接回车, 可以看到大概花了八点五秒呢,他就列出来了啊,这个下面呢一共有十一个程序,然后呢他大概说了一下啊,比如说是媒体服务器啊,下载工具,这个是我一个测试用的环境啊,所以说里面目前只有十一个导客程序。然后我给大家演示一下如何使用 open code, 直接来安装一个导客程序, 这个呢就是 dapple 版的 open code 做不到的,因为 dapple 程序啊,它一般呢是不允许嵌套的啊,我们既然安装的是 dapple 版的 open code, 那 么你就无法在里面呢再创建 dapple 程序。但是我们这一次呢是直接安装的 open code, 它就可以查看 dapple 程序以及创建 dapple 程序了啊,当然它也可以使用其他的工具, 能力呢就大幅增强了。比如说这里啊,我们直接输入一行话,我们来创建一个 openlist, 这里呢已经有一个 openlist 了啊,所以说这一次呢,我们要用不同的端口和不同的名称来创建另外一个 openlist, 我 们输入一下, 我们这里呢就简单的写一句话啊,创建一个端口五八四四的 openlist, 容器,名称呢是 openlist 的 二,配置文件也放在这个目录,可以看到啊,都是自然语言,因为我原先这个 openlist 它的名称呢就叫 openlist 的 嘛,它的端口呢是五五四四, 我们现在呢要创建一个不同端口名称也不同的,这样的话呢才能够不冲突啊。然后呢告诉他配置文件呢也放在这个目录,一句话呢还是很简单的,然后我们直接回车, 大家可以看到啊,他思考了一段时间以后,这里呢就出现了一个允许请求,他要求呢能够允许访问这个目录啊,然后下方呢这里就有几个选项,允许一次,还有总是允许还有拒绝啊,我们这里呢就直接在允许一次上面啊,我们直接回车, 接下来呢他又跳出来一次啊,我们还是允许一次啊。当然如果你要是觉得这样比较烦的话,你也可以总是允许选择第二项啊,不过呢这样的话,我们可以看一下他到底要什么目录的权限,所以说呢,我们每次都给一次权限就好了。 好的,到此呢,这个容器啊已经建立完成了,一共花了呢五分钟,这个速度啊是比我上一次测试的时候呢,这个速度要慢很多, 而且这一次啊,他没有给出来具体的用户名和密码。上一次我创建的时候啊,他建立容器完毕之后给出了用户名,同时呢还给直接给出了首次访问的密码啊,整体效果非常的好,这也是说明目前使用这类工具的一个问题啊, 也就是说,首先你的大模型要足够的智能。另外一个呢,他每次运行啊,都有一定的随机性,这一次呢可能就要折腾的次数比较多, 不像你直接使用命令运行,能达到百分之百的确定效果,但是好处就是呢,你不用管它,都是由 ai 自己完成的。然后我们就来访问一下,看看是否能正常访问啊。 这里呢,我们输入设备的地址,再加上五八四四这个端口,我们直接回测,可以看到没有任何问题啊,可以正常访问了,这里呢需要输入你的用户名,用户名呢设个密,密码呢,第一次啊,是随机的密码,我们之前呢我们也来尝试一下,问一下 ai 啊, 这里呢我们输入一下首次访问的用户名和密码都是什么,我们回车,然后我们同样是允许啊回车, 大家可以看一下啊,这一次呢,明显啊,这个大模型呢智商还是不够,他直接去找了一下 copy 文件,然后呢就给我来了一个这个默认的密码啊,这个密码呢肯定是不对的,因为我们知道 open list 默认呢是通过日制的方式获取首次登录的密码,所以这里呢就能看到它还是有一定局限性的, 每次呢随机性都比较大,上一次我安装的时候呢,他不光直接帮我配置好的容器,还同时给出了首次登录的用户名和密码,所以说我觉得他非常好用,才想给大家介绍一下,没想到这一次呢,他就这么不给力啊,没办法,我们只能让他去查询一下日制,然后来获取一下密码了, 当然这对于很多新手用户来说呢,没那么友好了啊,所以说大家对于所有的 ai 啊,目前都不要太神话,首先呢他的智商呢还是比较有限,其次呢随机性比较大啊,从我们这些操作的过程当中呢,就能看到这一点。这里呢我们直接让他去查一下日记里面的密码啊, 我们这里呢输入一下密码在日里面,让他自己去查询一下啊,我们看一下这个样的效果。这回呢他返回回来了,他自己呢去查询了一下,发现了猝死密码是这个,这回呢他就告诉了啊,我们的猝死密码是这一个,我们直接把这个啊直接复制一下, 然后呢我们输入用户名 id 密,密码呢,我们把这个粘贴一下啊,然后选择登录可以看到啊,没有任何问题,正常登录了,也就说呢你让他安装容器呢是没问题的,同时呢如果你知道具体的查询方法,你让他去查呢也没问题了,这样的话呢就不用我们输入命令手工去查了, 是能够简化的啊。另外呢给大家说一点啊,它刚才浪费时间最长的一共花了五分钟嘛,就是因为它没有找到 y m l 也就是我们的 compose 脚本啊,如果我们能够提供给它一个可用的 compose 脚本,那么它安装起来呢,速度一定会快的非常多啊。 其实呢就是相当于我们提供给它一个参考,或者呢是一个类似于 scale 工具这类的东西啊,它的效率呢就会提升的非常多,这里呢我再给大家演示一下啊,如果我们提供给它一个脚本,会得到一个什么样的效果? 我们向上啊,同样呢翻到这句话,只不过这次呢我们再换一个啊,我们换成五九四四,然后呢 oppo l s 的 名字呢叫三配置目录,放在这个目录,然后我们给他一个参考文件啊, 建立的方法可以参考 v l e 一 一千下面 control 下面的 y m l 文件,这个就是我的懒人包嘛。然后呢我们回车看一下这次的效果。 同样呢我们改一下权限啊,直接回车,大家可以看一下区别啊,这一次呢一共就用了四十二秒,区别还是很明显的吧,上一次呢用了五分钟,而且这一次用了四十二秒呢,他已经把容器建立完毕了。然后呢数据目录啊,也在这个目录下 同时建了一个 oppo lisa 三,这回呢直接给出了用户名,同时呢也给出了首次登录的密码,这和我第一次测试的效果呢,就非常相似了,只不过第一次啊,我并没有给他参考文件,他的效果呢也非常好,这一次呢必须我要给他一个参考文档啊,他的效果呢就非常好了。然后我们同样啊来访问一下,看一下效果啊, 我们上面呢换成五九十四,然后回测啊,然后用他给的一个用户名和密码啊,登录一下,选择登录,可以看到啊,同样呢是没有任何问题的, 所以说到这里呢,大家也能看到啊,虽然 open code 这类工具加上一个靠谱的大模型啊,它们的确是能够提供我们的效率的,但是你还是要提供给它足够的信息,或者呢是能够使用的工具,这样的话呢,它才能使用起来比较顺手啊。如果说你想实现完全一无所有,完全让它自己去操作的话, 那么随机性和偏差性还是比较大的,这也是为什么我给大家说,如果你的生产环境或者是阻力纳斯上进行部署, 你必须呢通过一系列的操作,一系列的熟悉,对这个工具的使用呢,已经比较熟练了,知道哪些坑可以进行规避,这种情况下呢,你才可以考虑部署在你的主力纳士上来进行有限的操作啊, 但是你只要用的好,这类的工具呢,的确是可以大大提升你的效率的,这一点呢是毋庸置疑的。 而且现在 open code 虽然只能通过电脑端进行操作啊,但是我想在未来一定会有不少人呢会把它接入各种计时工具啊,这样的话呢,我们可以通过远程的各类计时工具,比如说飞书啊, qq 啊,微信这类的工具,一样也可以进行远程的操作啊,但是呢风险性呢就会越来越大啊, 同样需要大家不断的自己的斟酌中端访问的方法。说完呢,我们最后啊说一下大家最常用的网页形式的访问啊,网页形式的访问呢,我们就用一下这条命令就可以。如果大家看过上一期刀客版的视频,对这条命令呢,一定不会陌生啊,这个呢就是那个接入点整条的命令啊, 我给大家上次解释过,大家呢直接用这条 open code 命令,后头呢接上 web 表示我们要用网页的方式啊, host 四个零就表示所有其他的设备呢是可以访问的,如果你不加这句话啊,只能本机进行访问, 我们为了局网所有设备都能访问呢,就必须要加这个参数啊,最后呢加上一个端口号,如果我们用刀客版呢,这个端口号你是不能改的,但是我们现在呢是使用的直接安装的方法,这个端口号呢你可以随意修改啊,修改成你自己喜欢的端口号就可以了。然后我们把这条命令啊直接复制一下, 然后在中断当中呢右键粘贴,然后回撤。这里呢就提示啊,我们现在呢就可以用这个地址去进行访问了,我们把这个地址呢直接复制一下, 然后呢我们打开一个浏览器的新的标签页啊,直接呢把这个地址粘贴在这里,然后回车。现在呢我们就打开了 open code 网页版,我们直接选一下根目录,然后呢把这个拉大一点啊,同时呢把底下这个模型选择一下,我们换成迷你 max。 接下来的操作呢就和终端是一模一样的啊,只不过你是可以直接通过网页的方式来进行交流,然后呢点击这里进行发送就可以了。我在前两期视频呢也都给大家演示过,这里呢就不多说了,两种方式呢,我认为都很实用啊,大家根据自己的爱好任选其即可。 好了,这就是本期视频的全部内容,如果你觉得这期视频对你有帮助的话,欢迎点赞评论转发,一键三连,当然也不要了,关注我们,下次见。


大家好,我是小绿同学,今天给大家演示一下刀客管理神器 potent 的安装方法。刀客以及他安装的容器最基本的方法是通过命运行, 但是对于普通用户来说,这种安装方法上手有点难度,而且不方便管理,于是各家的商用系统,像全国优,联通、安瑞的,他们系统都是内置刀客的呃,外部 ui 管理的,直接在网页就可以输入参数就可以安装一些容器。 那假如说我们用的是像飞行 ne 这样的电视盒子,或者是一个纯粹的连用的系统,那我们要安装容器的话,就必须要通过面临行,有什么办法可以更方便的管理呢?那就是抛撑着,他 本身呢也是一个容器,但是他可以去通过容器的接口去访问其他的所有容器来安装,删除等等操作,那我们就 来演示一下他如何安装。然后跑天的安装呢?有很多方法面行的我们就不说了,第一种呢就是直接在应用商店搜索,我们搜索保存的 有三个,这两个都是官方的, 跑天的 c e 这个版本是比较高的,我们就用这个,你直接点击安装,然后他模板就已经下载好了。 跑天呢比较简单,就一个跟刀客通讯的映射,然后一个 跑进来的数据的路径映射,然后一个端口,端口你可以改,也可以不改,一般按摩轮九千就可以,然后点击应用就可以了,他就会去下载这个镜像,然后下载完你就直接安装成功了,这是第一种方法,然后我不太喜欢这种方法, 我是喜欢提前把镜像先下载好,就直接在这里输入刀客铺,然后把这个镜像这个地址输进去就可以了,就 然后标签用类似的最新的,然后去这里把它尽量先下下来,然后我们让他先下。我们说下另一种方式,因为这个模板比较简单,其实你直接可以用手动的方式去添加输入就可以了,或者 如果有有其他人的模板的话,或者你自己之前已经运行过了,你就可以直接在这里找模板,我看一下我之前用的模板波,真的,那我在这里 名字你可以随意写。看到我用的是这个标签,因为这个标签的镜像比较小,那我那个就先不下了 哦,已经下完了,那先不管,我们再下一下。这个 我们先不管,然后我看一下网络,网络我不喜欢用桥接,因为桥接的地址是他自己分配的,不固定,每次重启都会变 b, 压零的话是跟主机的一个网段的,我暂时也不需要。那我就需要去手动创 一个网络,我们先去创建一个网络,这个已经已经下好了,可以看到,然后网络的话应该是,当然你可以不用创建网络,因为我是有点强迫症, 我们刷新看一下, 可以看到这个就是刚才拉取的两个镜像添加容器, 现在只有跑真了。 可以看到网络已经有用奈特,并且是幺幺的网断了幺点八,我模板里面写的就是六点八幺八幺幺,这就不管了, 然后配置的配置的目录, ok, 直接直接用用就可以了。看一下其他的地方,这个是 论坛地址,然后官网地址、镜像地址、图标地址,这个地址就是稍等,我先安装一下, 成功了这个就不用下载,因为已经下好了。 然后可以看到图像没有出来,因为网络不好,没有特殊工具, 后面是 cpu 和内存的占用, 可以看到上下可以拖拉这个顺序, 然后点击这里可以看到有个 y 不 ui, 这个就是刚才你的地址左下角这里可以看到这个地址,就是刚才填写的。 然后我们现在因为我是远程访问,我要先去留气里面试一下。端口转发 好了,端口映射已经设置好了,我们去访问一下看, 可以了,首次要首次进入,要设置用户名和密码 好了,密码设置好了,创建用户, ok, 这就可以了。然后我们去看首页看一下,这个就是我们的容器的镜像,虚拟食堂, 这是镜像,有两个镜像可以看到容,容器其实比较占空间的,两个软件就五百多兆了。这个是第一个下载的, ats 的,我没有用, 为了避免占用空间,我就直接把它删了,这个是容器正在用的,你现在删也删不掉。 然后这个按钮可以导出这个镜像,把这个镜像导出来给别人用,当然也可以把别人拿来在这里导入。 然后这个是网络,可以看到默认是四个网络。然后我刚才创建了一个用 unite, 然后是容器,这个是刚才创建那个容器正在运行,我们可以看一下容器的参数, 我们是设置一个端口映射,然后两个入镜的映射编辑一下。 跑天的好处就是容器配置的时候十分容易配置,在安润的界面的话, 配置太多的话输入就会很麻烦。嗯,这个号是内幕,你可以给这个容器一个命名,然后这里都是变量,我因为这个容器没有什么变量,我们没有添加变量,这些都是默认的, 这是标签,这是重启的,重启的一个配置, 这个是可以给他分配内存,分配 cpu, 这是六线模式,特权模式,这里可以添加设备,其他的这个就不怎么用。 如果有多个端口的话,可以在这里添加多个映射。然后 tcp 和 udp。 这个 stack 是用看 dog compose 安装的,容器会在这里显示,你可以在这里输入 compose 的配置, 然后两个就是两个,他自己创建的一个映式的地址也是没用的,我们把它删掉就可以。大体就是这样,容器应向网络 设置,基本使用就是这样,你可以自动启动, 选择自动启动之后,这里会有一个 weightweight 是什么意思?就是假如你自己自动启动了这个纳斯 系统,关机之后开机自启,他自动启动之后多少秒延迟多少秒,下一个才启动。那本期视频就到这里,谢谢大家观看。我是小绿同学,我们下期再见。


救救我,救救我,救救我。看版本创建并且启动容器,这个是最核心的选项,要记住啊。查看容器,嗯,可以强制给它干掉进入正在运行的容器, 一个是停止容器,一个是删除容器。启动或者重启容器,查看本地所有的镜像。删除镜像和刚刚删除的容器可不一样啊。这是要进行网络操作, 这是要进行数据证操作,做这个持久化存储,获取容器和镜像的详细信息。看容器的日记,救救我,救救我,救救我,救救我。

好,我们来看第二大误区啊,这个也是非常非常严重的,我第一次学多客的时候习惯性地说,嗯,多客啊,你多客,你做一个容器,那我拉起来了之后, 我第一个想法说,我应该 s s h 登录到这个 linux 里面去,这个容器里面去,我去配置它,我去修改它。呃,然后我发现首先第一个 好像它默认也没有什么 s s h, 而且这些容器吧,它里边的这些系统啊,都是极小系统,就里边啥都没有,几乎比如说这个的话,明显里面就只有一个 pi 上,除了 pi 上以外啥也没有, 就以什么命令,几乎除了什么什么 cd 啊,哈哈。哎呦,我要死这些命以外几乎啥也没有, 好吧,也不让你 s s i 去,我说什么垃圾,太垃圾了,我都不让我管理,我都不让我登录啊,对吧?我想进到康师傅配点嘛,不让我配进去的,什么操作系,什么系统,这些东西也太迷你了,里边啥玩意都没有, ok, 觉得太垃圾了,没法用。我,第一,我,我的第一感觉就这个什么破玩意,完全没法用,这是什么鬼?你看我很多偏见啊,哈哈哈,好吧, 后来我知道了,完全不是这么玩的,这是一个完全的错误,就说我说你要远程登录到一个容器里面去修改和管理和维护这个容器,是一个严重的错误思想啊,一会我们在安装的时候我记得是二十四吧,好吧,已经没有那么重要。好吧, 就说这是一个严重错误的思想。那有人说,那那那,我不 s s h, 我 不登录进去,我不去给他改点什么修改点什么,那那那他拿它干嘛的?哎,这是重点, 什么叫容器?我刚才说过,容器的最大特点就是可复现,虚拟机的最大特点就是不可复现。 虚拟机是不可描述的,是独特的,是难以描述的,是不可复现的。容器是不一样的,容器是可以描述的,是可以复现的。 怎么去描述容?什么是容器?看啊,比如说后面我们的重点的重点就是这个多克饭 由 docker farm 来构建了这个容器,首先它有一个基础的镜像,你可以你可以理解,就是一个基础的啊,装了 pi 上三点七的一个特别特别小的一个 linux, ok, 然后呢?我把我的这个程序拷进去了, ok, 然后呢?这个容器最容器需要干活的哦,容器要干活,那容器它干什么活呢?就是要运行这个 app, 点 p y, 由于它在运行,所以说它 running, 如果说它停止了,这个容器就会结束,那我通过这种方法就通过它来构建了,哎,当然后面我们会讲啊, build 构建了,容器构建了, build 构建了,用用当前目录下面的 docker farm 来构建了一个镜像,叫它然后通过镜像来运行容器,在镜像和东西一会儿会简单的说一说,好吧,比如说呢,我们是通过它来构建的,也就是说 容器有没有不重要,坏了拉倒不重要,我只要有它,因为我你这个容器是可以描述的, 可以描述啊,从这来考了一个东西进去,考了哪个东西?就这个这个东西呗。然后呢,我们,我们,我们最后就运行它可以描述啊,一切都是可以描述的,因为它,所以说有现在的容器,容器没了,没了,没了,有它就来容器了, 是可以描述的,也就是说你要去改一个就说那,那我说 linux 什么?我们要上去干点嘛?我修改点嘛?做点什么? ok? 你 不要登录上去啊,你改它呀, 你想加点什么?你写啊?对啊,你要考个什么啊?你要干嘛?对吧?你,你,你写啊,你写完之后重新构建一版新的, 然后呢?拉起来就可以了。又说,你不是说啊,像以前我们登录到 s s h 上面去啊,我要把一个文件拷进去,然后把它拷到另一个目录,然后呢?我要配置文件改一样东西啊,然后呢?怎么怎么的?不是 不需要登录,容器完全不提供,完全不需要登录,你只需要把你的多根线给写好,你要干什么啊?做什么?但是后面我会讲各种各样的操作,可以在多根线里面啊。我,我要把这个文件搞到那啊,我把这个文件改一点,改,改一下啊,我要把东西什么 重新做一些操作,然后最后呢?把什么什么东拉起来, ok, 所有的容器里面的操作都要通过多根范描述出来,然后呢?最后你有多根范呢?再重新构建一版新的容器,然后再把它拉起来。 容器就是通过 docker farm 变得可以描述, ok, 也就说以前我们的系统是不可描述的,不是急代码的, 现在我们的操作系统是可以描述的,是即代码的。就是就就是代码的就代码,有代码,有多根法尔代码就有系统。系统不重要,丢了就拉倒。不重要,有他就有系统, 有他就有系统。好吧,你说这个系统里边有什么?你看他,你看就,就就这个,就这么做了些这些东西,然后最终有了这个系统 即代码,代码即是系统,系统不重要,你就这样说,爱死死去,爱丢丢去不重要,我有它就可以 理解,这点非常非常重要。所以说呢,你不存在像以前说哇,我们要登录一个虚拟机,我们要去登录上去改个,没有这个概念,没有这个概念,你只需要把所有的这个多克饭,就通过通过多克饭来软件定义 你的系统啊,你觉得哪不好,你再改改。嗯,看看把什么操作加上, 加完改完,重新构建一版新的就可以了。所以呢,应该是改它,重新构建,然后重新运行,这是最重要的。 ok, 这是 docker 最重要的, 最重要的了。为什么多会这么这么牛逼?就是解决了一个多少年来的一个极大极大的痛点,就是以前的系统是不可描述的, 无法复现的。多会告诉你是可以描述的,是可以复现的。系统是不重要的,他丢了就拉倒,让他去死去,我们有他就有,就能够随时把原来东西给拉回来。 ok, 这是它最重要的一点,不是需要登录,不是需要登录。 ctrl, 不是 需要做操作,而是你改它,重新构建一版新的,让系统变得可以描述, 那自然也就可以轻易的恢复,那么系统就变得不再重要,那么就像 k 八 s 一 样,哪有什么微 motion, 你 你你觉得它不好,把它干掉不拉倒了吗?再重新再拉一个新的就可以了嘛,反正都是一模一样的,反而都是基于它来产生的,对吧?不像传统虚拟机,虚拟机什么微 motion 在 这 没有没有那个说法不需要,这点非常非常非常的重要。所以说呢,就算,假如说我们容器更加消耗资源,假如说我们容器会更慢,我觉得就这一点也值得你去使用容器技术。 好吧。所以说有了容器之后就是为什么打的那些,打的那些传统的 openstack, openstack 现在基本上都不存在,我感觉好吧,打的那个都都找不到北,最重要的就是它, 当然它也确实是比较节约资源。好吧,确实也比较节约资源。这,这也是,但是那个不是主要的好,还有一个容容器的一千一姓, 这也很重要。就说只要是 linux, 不 管是什么 linux, 注意,不管是什么 linux。 嗯,你可以是 centos, 你 可以 rocky, 你 可以是乌班图,你可以是其他各种各样的 lex。 这个不重要,只要你装了 docker, 那 么我的这个,我的这个容器就可以在任何一个 linux 上面去运行起来,这点也非常非常重要。因为为什么现在我讲这种话,我们一定要用 docker 给你封装, 有人说你不用 docker 封装,你告诉我怎么安装这个,安装那个行不行?不行,你相信我,绝对不行。 假如这么说吧,就算是你我都是一模一样的 sendos 版本, 我们就不一定是完全一样的,就算版本一样,你的那个补丁跟我那个补丁也不一定是一样的。 pasa, 可能你的 pasa 跟我的 pasa 可能也不一样的。你 pasa 装那个 pack 机,我 pasa 装的 pack 机也可能不一样的。虽然说你你看着在我这个里面咔咔咔一动刷就过了,我告诉你,你就照着我这个刷,你就刷,不过你信不信? 这非常非常正常,你在我这看他的六六六,你在你那,你感觉啊,都差不多啊,都是圣斗士啊,都拍到三三点十二,你运行不起来,这非常非常的合理好吧?但是只要是多克,只要是我多克封装的,你相信我,你绝对起得来, 没有问题的,绝对,因为 docker 的 最大一个特点就是把整个环境看啊,刚才我们说过容器把整个环境都封装到容器里面去了, ok, 也就说你不用担心你,因为他们只用底层的 linux 内核, linux 内核是一样的,注意,内核是一样的,虽然说发行版不一样,但内核是一模一样的 好吧,而且 ok, 内核是一模一样的。然后呢?我的这个运行环境也被彻底封装到,通过多个范给封装到里面去了, ok, 所以 说我这运行你相信你那也一定可以运行, 这省了多大的事。我,你可以,你可以想想,我在自动化预维里面,我要讲讲十几二十个开源自动化工具,你要让我十几二十个给你安装, 简直就扯了。我告诉你们,简直扯了,首先我会费很多很多的时间,而且我这个月能装的起来,下个月我装不起来,你看我能装的起来,我相信你肯定装不起来。好吧,就,就这么变态,你知道吗?就特别开源工具就如此变态, 但是 docker 解决了一切,让一切变得平衡,让那个那个那个舒适,哈哈,让,让一切变得安静轻松, 爽,你胳膊盖儿就是一个爽,哈哈,因为你比如说就算后来一个特别复杂的实验,很多很多虚拟机,但你不用担心,我给你一个 docker 范儿,你,你敲一句话,卡其一样,跟我一毛一样, 一点区别都没有,爽,你应该这个事就爽一个事。好吧,沈腾应该出来说了一句话,我告诉你,绝对的,这是非常非常重要的,好,那么可以了解一下迁移性,好吧,好,那比如说我这个是一个无端图,无端图,我这个确实是个无端图。看到啊,看了一题 os, 我是 一个误班徒,二十四,好吧,这这这,好像是英伟达推荐的,英伟达好像就是搞二十四,好像还还有更新的,我记得还有更新的,好吧,但是我应该是用的二十四的这个服务器的这个版本, ok, 好, 呃,我们来看一下,比如说 这是一个 app, 非常非常简单一个 app, 其实就是我们后面的 python 要讲的一个 flask。 哎,你不用太太太太关心这个东西,其实就做了一个特别特别特别简单的一个 h d d p 的 小 show, 当你去访问它的根目录的时候呢,就会给你返回这么一句非常非常的简单的话, 啊,这,这不用太关心,就是一个非常简单的 http server, 好 吧,好,然后呢,哎,我这是一个 docker farm, 我 构建了这个容器,首先源自于 python 三点七,注意,这是一个,这是一个非常非常小的 linux, 然后呢,它带三点七的 python, 三点七, ok, 好, 呃呃,环境变量,其实你可以不用太管。好吧,然后呢,我把我的 app 拷进去了,然后呢,由于呢,这个程序呢,它要用到这个 flask 的 第三方模块,所以说呢,呃,我也把第三方模块给装了, ok, 有 了这个模块嘛, app 才能够引用这个模块,好吧,这,这就比较简单的啊,然后呢,我们把它运行起来,它真的运行起来了,它真的对外一直在提供一个 h d d p 的 八零端口的服务,随时为你提供一个反应,所以说这个容器才能够运行得起来, 如果说你没有这个他,他怎么运行呢?没有运行的条件,好吧,他不像,他不像虚拟机啊,没事我就可以起虚拟机,没事我就起,你管得着吗?容器不行,容器说我一定要干点什么,我不干活我就得,我就得死,哈哈,容器就这样的,那好,你给大家这个这个活, ok, 好, 那这个时候呢,好,我们看一下它啊,这些文字呢,你可以在在你,你其实我每句都读过,好吧,然后呢?在每一个每句话的作用都给你讲了, ok, 好, 同样的啊,这个,哎呀,我这个这个名字真的是讨厌, 我应该拿 ai 去改一下,但我 ai 现在没有翻墙,可能会有问题。 好,相对于呢,我构建了这么一个镜,呃,就这个点很重要啊, build 就是 通过当前那个目录下面的 docker farm 来构建了一个镜像啊,构建的镜像的名字呢?是这个名字, 好吧,这个后面我们再说,这是我的在 docker hub 的 用户名,然后呢,这是你,你随便瞎写的一个名字而已, ok 啊, build 了啊, build 了之后呢,我们来看一下啊,这很简单,就是我在给你讲什么啊?重点不是那些命令。我昨天跟你讲,比如说啊,现在我在物管图里面, ok, 然后呢?我构建了这个镜像,然后呢?我在物管图里面呢?哎,我就可以把这个镜像然后呢拉起来,然后呢把它的这个端口号印刷到数主机的,你看啊, 它默认开放端口呢,是八零八零,然后呢我把它在运行的时候呢给它也印刷到宿主机的八零八零, 对组织没价值的杀手就被干掉的意思,这样的话就把容器里面的八零八零静态印刷到宿主机的八零八零端口。 好吧,那么我在乌鸦图,我这个机器是乌鸦图,然后呢我就把它给运行起来了。 ok, 那 这个时候呢,我,你看我就可以去访问他, 哎,访问的时候,哎,就是很简单啊,你看他就表示很正常,在乌鸦图里面呢,他就很好的被运行起来了。 ok, 好, 我就可以,我就我,我给停了,停了。好吧,好,那这个时候呢,你可以把镜像分享到另外一个,比如说这是我的根,这是我的, 这是我的另外一个机器,这个应该是一个 rocky, 这,这是我自动化运维上课的一个机器, 应该是卡的 etc, 就是 这个吧。 啊,这是 rocky, 这是 rocky 那 个词, ok, 九点三,这,这是我上那个自动化运维的一个虚拟机,这个物理机,这个机芯呢?在我的坐的位置的旁边。好吧,但那 cursor 不是 啊,这个 cursor 呢是在我的杭州的那个数据中心里面的 一个 linux, 是 这个 linux 啊,当然,反正就两个 linux 吧,你不用想那么多。好吧,那么刚才那个 linux 呢在运行呢,是无端图的,然后呢我这个 linux, 这 linux 是 一个 rocky, 是 红二系的。 好吧,刚才呢在无端图里面运行起来了。好吧,那这个时候呢,我们怎么能够去分享到另外一个这个机器上面去呢? 当然可以用笨办法,就说你把它导出来一个文件,然后把文件拷进去,但是这个呢就不是很方便了,一般呢就是需要一个镜像仓库, 可以用 docker hub。 docker 官方提供的啊,这个当然是被比较省事的好吧,官方提供的,但是 docker hub 你 要正经用的话,其实你企业级的话是要收钱的。好吧,那今天呢,当然我们 docker 部分呢,就简单用 docker hub 了,我们后面在 kbs 就 不一样了, kbs kpi 的 时候呢,我们就需要一个一个私有的镜像仓库,这个后面我们可以看看图, 但多会儿里面我们不讲这个东西,好吧,呃,在 kpi 里面呢,我们就会就会去放这个 harbor, 这是一个镜像仓库,私有的镜像仓库,它 ok 啊,所有的这个项目当中的全部的镜像 几十个可能有大几十个,或者有大几十个镜像全部都在这儿,私有镜像仓库这儿的话,所有这些 k 币 s 的 这些节点都可以到它去下载到镜像,这样的话速度会更快一些, 好吧, ok, 那 么,呃,当然 docker 呢,我们这个部分呢,我们不讲这个东西,我们就 docker hub 可以 推到官方的云端的 docker hub, 咱们去, ok, 好, 那我们可以简单看看怎么操作, 刚才不是有个镜像吗?刚才我们构建过,构建过这个镜像,注意啊,你想推到这个 docker hub 上面去,首先呢,你需要在 docker hub 上面去申请一个账号儿, 你需要申请一个账号儿 啊,我这应该是,你看我的账号名字叫 collins c d k, 看到了吗?是一个个人版本,个人版本是不收钱的,当然呢,它其实现在 docker 主要收钱的主要是 docker hub, 还有一个叫 docker desktop, 这两东西它主要挣钱的方案。好吧,当然免费版呢,也是可以随便用的,但是它有各种各样的限制啊,你看啊,这是我的用户名, 那么一会儿呢,我准备给它推到我的 docker hub 里面呢,就需要以以我的用户名开头啊斜杠,然后呢下面呢给他个名字,这样的话这种东西呢才能够推得上去, 你名字是设计好了的。好吧,反正这个肯定是要用户名后面呢,当然呢,在你的这个下面呢,不能有重复的,其实也就可以了。 ok, 好, 呃,那这个时候呢,你需要 docker login, docker login 啊,现在现在新版本了,跟以前老的还不一样,以前就直接在这儿输入我的密码,现在它为了安全性点它。 然后呢,你要去输这个 e l, 要去输这个授权的这个设备的这个 code continue 啊,当然注意,刚才我已经登录过了,所以说我确认一下,那你说如果没有登录的话,它会让你再输用密,密码。 好,相当于呢,就这个机器呢,就被授权使用使用我的账号了。 ok, 好 吧,没问题吧?好,然后紧接着呢,我就可以把它 push 到我云端 push 上去。好,这个关于分层的事我们后面也会讲,但今天我们只是简单感受一下,就是很轻松的就能够把一个镜像啊,在物管图里面啊运行,然后放到云端,然后紧接着的。好,那没问题啊,然后呢,我换另外一个机器, 我这个机器,我这个机器天天有多快啊,我就可以去泡一下,我就可以把这个给拉下来, 我这个镜像是公开的,应该是公开的,你可以试试我,我记得没有做什么安全性的,设置 好就可以被扣下来,比如说它那也有这个镜像了,然后呢,有了这个镜像之后呢,也可以继续用这个镜像来拉一个容器,你会发现它一样能拉得起来,一点区别都没有。 授权,不是,那个授权扣子是自己产生,随机产生的,它基于你的主机自动产生的好不好? 好,然后呢?呃,你拉了之后呢,你就一样的 run, 然后呢,你一样可以访问它,没有问题,这样的话就能很轻松地实现一个 app 的 从一个 linux, 然后呢,迁移到另外一个环境,哎,我的 镜像本来应该有。 ok, 好, 然后呢,我就去可以访问一下它, 访问它的宿主机啊,它的宿主机就确实就 二二啊,不是二二八二二。怎么这么这么莫名其妙,二二八八零八零啊,对吧?一样的,一样好使,一样没问题, 很轻松的就能够实现啊,一个容器,那么从物管图就到另外一个 linux 就 很轻松的迁移了, ok, 这点也很重要啊,就是说真的就能够实现。说我做自动化运维啊,我做完了之后我就给你封成 docker, 然后呢,你拿这个多克一样的,在你那个环境下面,只要你是一个 linux, 你 只要装了多克,你也能够拉起来,不管我这有多复杂,就就一个文件,你一下就给他拉起来了,一毛一样。 好吧,真的像以前,如果说我这装起来了,呃,我要在你那装,最有一些项目要拉五六个,特别是最后 ai, 我 们要拉二十多个容器起来。二十多个容器啊,我的天,如果说用传统意义上来,我要一个一个给你装, 那真的就扯了,我觉得我不能完成这个任务,你相信我,哈哈,就算是这次课我给你完成了这个任务,下次课我也完成不了,而且我确定我完成了,你就应该也完成不了,这几乎是很难很难实现的任务,真的很难很难, 因为以前我没有多会之前我我简直都不敢讲课,哈哈哈,这,这简直了,二十多个东西,各种武林各东西,你要说我能够给你一把能够弄起来,反正我信,你也不应该信,哈哈哈,好吧,好,所以说这个非常非常重要。好, 这是一个说了啊,再看,应该说在没在 docker 没有出现之前,这个所谓的 devops 就是 一个扯淡的说法啊,就是说什么自动化运维,自动化运维没有 docker, 没有容器技术啊,咱们也不一定要说 docker, 因为容器技术不一定是 docker 好 吧,在没有容器技术出来之前,所谓的自动化运维跟扯淡一毛一样 好吧。但是有了容器技术之后,自动化运维才真正的实现了,才真正的可以说什么啊? gitops, devops, linux devops, aiops, 这个所有的一切都一定要有 docker 在 啊,一定要用容器技术在啊,不一定要 docker 啊, 一定要容器技术在。没有容器技术全都是扯淡,你相信我,全部都扯,没有一个靠谱的。为什么呢?看一下这他解决什么问题?这是以前那个严重问题的开发部门, 他写代码,他写代码之后呢?他有一个测试环境,开发者嘛,他肯定有一个测试环境,他不可能说有个代码他不测,对吧?他肯定有他自己的测试环境,他要把代码开发了,在他的测试环境下面,他觉得自己六六六非常不错,运行的很好。 然后呢?如果说这个时候他把代码告诉运维,说好了我们开发完了,运维来吧,你们上线吧, 这就会有很多问题。第一个问题是他可能上不了线,因为虽然说你代码运行的没问题,但是你装了各种各样的包,各种各样的数据库,各种各样的版本、各种各样的补丁,我不知道,我。

弄不起我就拉不起来,你知道吗?就说你起来没毛病,你的环境是你的,你的你你你你,就你拉起来没问题,你能说的清楚你现在那些是什么补丁吗?是什么版本吗?是什么一个设置吗?你能说的明白吗?开发者说,反正我这不知道,反正我就拉起来了,我这能运行,但是运维就不, 他怎么能够去?而且生产环境和你的测试环境可能就不一样,没法付现,而且可能也不知道你这几天装了。装,装这个装那个装这个装那个,装这个装那个。切,你在跟我扯呢?我,我能把你这东西装完吗?再上生产他上不了, 而且就算上啊也还会有一个问题,开发人员说我这可溜了,特别的丝滑,但你那为什么客户反映你这特别卡,原因也有可能就是版本并不太匹配, 这个以前就没法弄啊,就是,也是一个巨大的痛点,你的环境跟我的环境不一样,你也说不清楚,你那是六啊,你那是六六六。你装的东西我,我也不知道,你说的清楚,你装了什么吗?很困难, 就算是他把他东西老老实实说了,我告诉你你装也不一定装的出来,这正常现象,非常痛苦的一个事实。好吧,但是有了容器就没有问题了,容器的特点是他打包的这个容器里面看一下啊, 它这个里面不仅有程序,还会有相关它用到的这些 python 三 python 啊,还有它需要的这些啊,比如说你看这个 app 要运行起来,你需要装这个 flask 吧。那好,你看我也把 flask 给你装了, 就说既有程序还有环境,是环境跟程序是封装到一起的,给它封装到了容器里面, ok, 而且容器能够实现更好的,比如容器和东西之间还能够实现更好的隔离, ok, 所以 容器里面不仅有应用,还有环境。 ok, 这个东西在开发环境开发的环境下能够拉起来,能够测试好,你换到生产环境也一样的可以拉起来,因为只要都是 linux, 都是你那个类壳,好吧,然后呢,这些这些环境都已经你那是这个,我这也是,这个都是理所定义好了的,所以现在程序员不仅要去写程序,而且应该也要把 docker farm 给写好,把环境写好,给它封装到镜像里面, 然后这样的话上生产的就比较简单了, ok, 而且如果说你这当然了,有这个东西之后呢, 运维的作用好像也就不大了,哈哈哈,运维的作用也就不大了,当然有了 ai 之后呢,好像意义都不大,哈哈哈哈,对吧?对,有了这个之后呢,感觉运维的难度就不大了, 因为所有的都已经被封装好了,你们只需要把多克或者 kbs 环境弄好 拉起来就可以了,能够完全地确保。那么你开发里边是什么效果,我们生产这边呢,也就是什么效果, 这样的话才真正实现了。由于 docker 实现了你的 app 和环境的级代码和可定义可赋现,这样的话才可以实现 devops 全流程自动化。呃 呃,类型,呃,我不知道什么叫 windows, windows, 当然了,只要你是 docker 吧,因为 windows 下面其实它也是,它会也是会构构建一个 linux 起来。好吧,我,我这个算是不同类型的 os 吧。我,你不会说在 windows 吧,我这个一个是乌兰图, 呃,一个是 rocky, 这明显就是不同的 os 了。你,你是说的 windows 吗? windows 的 话, windows 也有一个 desktop 版本,它其实底层也是拉一个 linux 来拉的好吧,底层都是 linux。 呃,那个 windows 所谓的其实它 windows 也是 w s l 也是 windows over linux, 有 时候它拉人的话, windows 下面其实也是一个 linux, 也是 linux, windows 也是 linux, ok, 也是 linux, 所以 说都是 linux, 只要只要是 linux 就 行。哦, windows 它拉起来它也是 linux, 所以 说都是一样的,没问题。 windows 上面也能拉的起来,但是那个底层也是 linux 好 吧,必须是 linux 的。 ok 啊,虽然说有人。我,我见好像现在有个什么 windows 的 容器,我不知道那个怎么玩的,我真没有研究过。哈哈,好像有 windows 容器能能容器里面拉 windows 起来。我,我反而我没有怎么玩过这东西啊,我都是 linux 的 好吧,但是我知道确实好,有 windows 的, 就是拉 windows 里面容容器里面是 windows 的 好像是有的。哈哈哈,那我没研究过来玩,我觉得好像对我而言也没有什么意义。 ok, 好,他解决了开发和运维之间的矛盾啊,在开发之间呢,搭建了一个桥梁,然后呢,真正实现了戴帽子就能够实现开发 app, 开发出来源码,然后把容器,呃,容器技术呢,就能把这些源码和环境 和依赖关系都给他封装成为一个镜像,然后呢,镜像呢,再放到 docker 仓库,然后呢供别人下载,然后呢就能够运行,就这套路。 好吧,我讲的都是 linus 的。 好吧,我再说一句,这,这有有有,那个拉起来这个 windows 容器里面是 windows 的, 好像是有的。好吧,那反正我不研究这东西,我觉得好像也没有意义。我也不怎么玩 windows。 好 吧,虽然说我个人电脑是,但我真的玩 windows 不 多。哈哈。不太多。 ok, 好,我们了解几个概念吧。几个概念?好吧,先看最后一页,最后一页应该有个概。呃,这这应该概念。首先了解什么叫镜像,刚才我们 build 的 其实就是镜像。我们刚才不是在 build 吗?对吧? build 就是 个镜像, 我们 build build build 一个镜像,就这个镜像的名字就是镜像。然后呢,我们用镜像,用这个镜像拉起来一个容器 拉起来一个容器,所以镜像跟容器不是一个概念,你给镜像,你可以理解成为虚拟机的 o v a, 容器里可以理解成为由 ova 拉起来的虚拟机,可以理解吧,好,仓库呢?呃,嗯,虚拟机好像就没有类似于这样的东西。 ok, 用虚拟机的时候玩的都特别大。但,但是呢,呃, docker 的 镜像呢,比较小,可以放到一个镜像仓库,有了仓库之后呢就能够更好的去分发镜像。分发镜像看一下啊,比如说像我说 k 八 s 吗?我说 k 八 s。 没辙,我 k 八 s 必须要实有的。那没法儿弄,每个都在云端拉,在拉斯里 就是。呃,就是这个私有仓库,我会从云端嗯,拉下来,然后给它放到 harbor 上,然后呢,这些所有的全部的都从 harbor 拉。 私有镜像仓库用镜像仓库来分发镜像可以是公有的 docker hub 的 公有镜像仓库也可以有 harbor, 自建的私有镜像仓库都可以。好吧,这就叫仓库。这三个概念需要呢啊理解。 呃, windows 的 话其实你其实没有必要,就真的是它有一个 docker desktop, 而且它其实是收钱的那种,呵呵,但是对个人而言好像不收钱好吧。呃,其实也没有必要装一个 linux, 其实没有必要,其实就就给你提供了一个 windows 的 desktop, 但是这个玩意儿不好使,好像不是特别好使,我以前电脑也装,后来我就烦着呢。我我我, windows 电脑啊,几乎是不怎么太用的 好吧,你看,你看我这些操作,这些是 linux 上面的 cursor 在 linux 上面的好吧,我个人电脑其实用的不多。上课啊,这个可能有点用好吧,其实我大部分是用的 linux 的 好,然后看一下啊,这儿来看一下,就是,这就叫 container, 注意, container 呢,就是正在运行的,你可以认为 container 这个容器就是一个虚拟机 容器正在运行的好吧。啊,里面呢,它包含了一些啊,环境, 环境,它的环境和相应的代码环境和相应的代码, ok, 还有一点啊,看看啊,比如说你的这个宿主机运行这个 docker 的 宿主机,它可你可能是一个红帽, 但在里面的这个 container 里面的这个 linux 呢,可能是无版图或者其他的 linux 的, 这没问题,虽然说发行版不一样,无版图啊,红帽啊,这些发行版不一样,但是 linux 的 kernel 内核是一样的, ok, 所以 说呢,宿主机可以和里面的容器运行的 linux 的 发行版不一样, 而且也是因为容器这些小 linux 大 量在被使用。好吧,按理说我们正常情况下,我很少会接触这种小 linux, 特别小的 linux, 一 般来说,正常情况下我们都是用一些什么红帽啊,乌兰图啊, devan 啊这些 linux 这种这种稍微大点的分发版,但是呢,在容器里面大量的使用这种小型的 linux, 你 会发现这就啥也没有啊,真的是真的是啥也没有。好吧, ok, 那 么他们共享了数数机的这个 kernel 啊, linux 的 好处,不管是哪个 linux kernel 都是一样的,只是上上面的这个发行版不太一样好吧。啊, docker 容器其实就是集装箱, 其实就是集装箱,集装箱就是把所有东西封装到集装箱里面。好,顺便看一下集装箱,它是个船, cuba 拉斯,我们要讲的 tbs 就是 操作这个 船的那个舵舵手。好吧,它是用来容器编排的。这是呃, docker 的 图标 啊,上面都是集装箱,一个金鱼上面的集装箱,这是 kabas 的 图标,是操作这个金鱼,操作这个大船的舵手。 ok, 这个后面也可以看看。好吧, 好,看看这个 docker 的 发展,这应该呢是我五年前基于五年前的信息写的一个 docker 的 发展史,然后今天呢,我又重新在 a 上 a a 调查了一下,重新又写了一版新的发展史。啊,在这里看我记录的啊啊,又重新写了一版新的发展史,大家可以了解一下 啊,有一个历史黑水 发展史。好吧,呃,简单说几个吧,其实 docker 容器呢,其实以前也有一些相应的容器技术。 呃,它没有任何颠覆性技术,就就跟那个就像乔布斯当年 iphone 一 样,其实你说 iphone 有 什么什么技术的,颠覆是什么?其实没有,它都用了一些所有都是现成的技术, 然后呢给他整合起来。那么,呃,应该在一三年出的多克其实也没有太多年,哈哈哈,好吧,出了多克,呃。然后呢?出了多克的企业版,企业版是收费的,我们是社区版,一般我们用社区版就行。企业版呢,是收费版本, ok? 呃。然后呢?二零一七年它应该我,你看啊,应该是二零一九年,它被卖出去了,它被卖出去了, ok? 呃。然后我给你,我给你解释一下现在的一个状况啊, 呃。首先呢,这个我说一下,就是你的 windows, 刚才说过, windows 没有不要装什么 linux 要装没有?不要啊,它提供了一个 windows 的 desktop 版本 啊,但是呢,你的 windows 呢?要要要,有这个 wsl 二,现在 win 十一 win 十应该都是这版本, ok 啊,然后呢,这个呢?直接就可以在 windows 上面去拉镜像,然后给它拉起来,这都没有问题, ok 啊, 而且这个我给你解释下,这个 windows 版本是收费的,其实因为前段时间我认为我一直认为这个 windows 版本都是不给钱的。然后呢,我们 vip 群里边有个哥们说这个是要给钱的, 我说不给钱,他说给钱,后来我后来知道是要给钱的,你个人用户用是不给钱的,但是你的企业只要大过二百五十个的企,二百五十人的企业, 好吧,就是要给钱的,是需要给钱的,好吧,所以说这个要了解一下。这个我,我因为前段时间我才了解到,以前我认为是不给钱的,我跟他说不给钱,他说给钱,哈哈哈,这确实要给钱,就你们的企业如果大过二百五十人年收入 ok, 超过这么多美刀,那就是要给钱的,所以说这个东西不免费,这个是要给钱的, ok? 呃。还有呢,他的企业版,他现在他有他的企业版,企业版也是要收钱的, ok, 还有呢,其实还有一个就是它现在最重要的就是它的这个 door hub, 就 刚才那个镜像的那个镜像, door hub 镜像仓库对于个人也是不给钱的,但是呢,你也可以买它的一些收费服务, 怎么了?我搜一个 angelix, ok, 你 看官方的,你也可以一些收费服务,收费服务是有这样的,我记得有安全问题,有安,我记得,我看我给搜一个 tag 啊, 它会帮你这些镜像去扫一些安全漏洞,你看安全漏洞啊,但这些都不是什么问题啊,有些有红的可能就有严重的安全隐患。 ok, 它会帮你提供一些啊,它可以帮你做一些自动构建啊,然后呢权限控制,然后呢安全分析,这些是要独立收费的,它现在这个是它的主要收费,还有它的 desktop 是 它主要收费, ok 啊,你看安全啊,甚至呢,就说你也可以自动的在它云端构建,就这个镜像呢,你也不用在你这儿构建,你可以让它云端构建,这应该是 docker 现在主要的 收费模式,而且呢,他现在重点转向就是开发,开发人员用多口会比较多,就说我开发一个东西我要交付出来让你来测试一下呀。啊,基本上都是多口封装,这个在开发这一块多口用的确实还是比较多的,比如说像我讲自动化语为,基本上我就用多口来交付, ok, 我 不会用 keybucks 的, 哈哈,太夸张了。好吧,基本上开发这块就是用多口,但是呢,如果说你开发完了就要上线, 以前啊, docker 曾经想自己啊,做一个编排工具,就是这个十万。今天考课前的时候有个哥们儿还说过,好吧, docker 官方自己都承认啊,你就不要用这个这个这个玩意儿了,我这次也不讲这玩意儿了,好吧,说呢,如果说你要真的上生产,你要企业级,企业级上生产的话,那应该用 k 八 s cooperates 理解啊,这个应该现在这个就不要了,所以说这次我也不讲了,上次我还讲讲,这次完全不讲了,就他也推荐你要用 cooperates 理解, ok? 呃,大概就是这样,就首先呢,他已经被其他厂商收购了,而且现在呢,他也不准备再跟 k 八 s 进行正面竞争了,他以前曾经讲努力过, ok, 现在它主要呢是在主要的几个,就是桌面 收钱, docker, hub 托管啊,托管之后呢,它有安全扫描啊,还有那个这个自动云端构建,这几个应该是它主要的一个方向,而且它现在主要面向开发者, 写代码的,封装的开发者用 docker 还是学的比较多,像我给你们交付的基本都是 docker 了好吧,但如果说呢,你要真的要 企业去上线,你应该还是就考 k 八 s, 就 没有什么其他可可选的了好吧,基本上就是用 k 八 s, 省的以前他虽然说有个十万,现在都扯了都没有了,现在我也不讲了,好吧, ok, 其他的 就没有什么其他的一个时间线好吧,就说现在已经被收购了啊,而且呢,当时我还有一个就是说他这几个主要的 docker, docker, compose, 后面要讲的,这还是在维护的啊,就是一直在维护这个这个这个这个东西,虽然说这是免费的吧,但是这个产品线还是一直在维护的,这个十万已经不维护了 好吧,而且顺便给你解释一下,后面我们还会介绍一个叫做 other。 在 这呢,我们还会讲一些除了 docker 以外的其他的啊,容器方案,比如说 portman 之类的 container d 啊这些东西, 就说 docker 现在已经不是唯一的了,你也有更多的其他的选择,但是一般来说呢, docker 现在是最成熟的。 ok, 如果说你玩开发的话, docker 应该是主流的,当然如果说你不想用 docker, 你 要用其他的话也没问题,还有其他方案。 呃,那还支持十万功能吗?还留着啊,号称是两年之后就不支持了好吧,但是我认为你也没有必要去学学它干嘛, 官方都说不再用这个东西了好吧, k y s。 所以 说呢,我们这个课呢,也主要就是说多客主要是开发这一块儿,封装这一块儿,好吧。呃,上线,企业级上线就别扯了,根本就没有什么关系。好吧, 我们也不聊什么节气上架,节气上架我们可以把它再说。好吧,十万我不讲,我不讲这个东西了,没有用。好吧,呃,好,说了这些好,但是再做了一次比较,但是我觉得还是那句话,这个比较没有什么意义,那么他相对于我们的虚拟机呢,肯定是启动会更快一些,因为他不用启动操作系统, 你虚拟机要操作系统要拉起来,首先操作系统要起来,可能可能就要分重级,但是我们这没有操作系统,我们直接就秒级,就直接就起来了, ok 啊,而且呢,我们是比较节约资源的啊,用也是因为我这就只有一些 app 和一些包,那么你的操作系统操作系统可能多少 g 了?我们这些 app 和这些包也有多少兆好吧,性能呢,也确实比较,性能也确实比比数据要好, ok, 而且单机呢,跑几千个容器呢是没有问题的,但是虚拟机的话肯定是不行的。好得承认说啊,容器确实节约资源, ok, 曾经有一段时间,很多互联网大厂从传统的虚拟化到容器之后,我记得我记得当时是怎么个说法, 至少能够有至少能够节约三分之一的计算算力,三分之一的算力我就三分之一的服务器都没有用,用不上, ok, 这从这个角度上来讲,当然从从资源 利用来讲,三分之一的服务器当然现在还有内存,是吧,哈哈哈,也是一个很可观的一个东西,但是还是那句话,他最重要的其实并不是这个地方,还是他的。呃,集代码,呃, 可以定义,用软件定义了你的 a p p, 你 的虚拟机啊,实现了真正的 double mouse, 这应该是它最值得 说的一个东西好吧,当然呢,资源利率小,确实也是真的。好吧,这也是真的。好吧,好,还有一个我这个第一张啊,最后一个我顺便给你讲一下,因为前段时间我因为最近我一直在讲英文答,英文答啊,我们会简单的看看这个 sonic 大家知不知道 sonic, 我 记得我尽量 近两个进化论都在讲这个 sonic。 有 人说这个交换机啊,跟你讲的容器有什么关系吗?哎,我告诉你这个我们了解的交换机,以前我们了解的交换机好像都是一个 系统或者一个 linux 系统,然后呢就上面就传统的 linux, 就 就以前我们了解的交换机应该是长这样的, 就是裸机嘛,这肯定是裸机嘛,对吧?啊,在一个裸机的这个交换机上 啊,装了一个 mini 的 系统,然后呢在上面装各种各样的环境,然后呢上面有各种各样的 app, 比如说,呃,迷你行的, b g p 的, l l d p 的 等等等等,各种各样的 app, 以前我们的网络设备应该就是这样的 好吧。啊,但是索尼可不是,索尼可是容器化的,你们可以,我这就写到,你们感兴趣可以自己读读这篇这篇文章。好吧,我是让 ai 从官方文档上发的一些信息,然后呢用官方文档, 这是官方的原文,你看啊,索尼可是一个基于你那个是开源网络系统,是开源的 ok 啊,首先它支持各种厂商的各种 ac, 有 时候呢,它可以刷在 英伟达的交换机上面,斯柯的交换机上面,戴尔的交换机上面,很多主流交换机都可以刷。 sonic 这个开源的超级熊 好,还有 synergy 采用容器架构,有时候呢,它不再像传统的意义上那么一个设计,就说啊,是这种一个 linux 上面装更缸的 app, 不是, 它是在一个 linux 上面装容器引擎,然后在上面拉各种各样的容器,每一个容器实现 啊,模块化的设计,每一个容器实现不同的功能啊,很你们可以看看官方文档,很多很多的这个,比如说我们啊,这次上课英伟达,我这本地有的,英伟达的这个 s n 二七零零就是可以刷的,这次我也通过 啊,这个精华论也给他刷过,然后呢也给他演示一下索利克的命令行怎么敲,好吧,这是一 好,然后这是他的大图,这个感,这个就简单了解一下吧,好吧,比如说啊,他有些容器来做这个,这个确实有点没法放大了啊,就说有些容器呢,做命令行的输入啊,有些容器呢,比如 radis 呢?做总线通讯, 然后呢?有些容器呢,比如 bgp 啊,有些是 bfd 啊,有些是 snp, 然后每一个功能都是一个以容器的形式拉起来的,你可以独立的,比如说你要单独,你可以单独的升级升级 bgp 容器啊, bgp 升级,你可以单独的升级,什么? lop 容器单独升级, 它是独立模块独立升级,彼此隔离,不存在像以前,我们要以前升级是一个大的病文件,还有印象吗?一个大病文件,然后整体一起升,机器肯定要挂。 ok, 它这个可以足模块升, 单独,每一个模块单独开发,单独容器单独升级,全部都可以搞定的, ok, 而且它它它有个还有个好处,它其实提供了一个一个标准,一个叫 si 的 标准,就说呢,它通过这个东西呢做了一个统一的抽象, ok, 然后呢通过这个这这计算这个标准,然后通过这个统一的抽象呢?能够,这就是能够让 sonic 呃,通过这个接口能够去刷到各种各样的网络交换机芯片上面去。 硬件不一样哦,芯片不一样哦,斯克的芯片呃, raser 的 芯片,英伟达的芯片,底层芯片都不一样,它都能够统一的给你做上层的抽象,然后上面是 zolik, 然后用它一个统一的标准来对接下面的各种平台,它可以刷各种各样的, 而且还有一个为什么我要讲的东西呢?就是首先它支持各种厂商,而且还有一个 现在可以确定的微软的 asher 的 网络,这个东西其实就是微软搞的, 微软就是为了给他的 asher 的 数据中心,他的云计算的 asher 的 数据中心做的一个开源系统,这是微软自己做的好吧,而且国内的你要了解啊, 国内阿里巴巴,国内的腾讯,他们现在不是也自己自研那些自研交换机吗?我告诉你,那些自研交换机很多情况下都是基于 sonic 二次开发的, 可能有点变化,但大体的框架都是用的 sonic 来做到的,基于这个 sonic 做的二次开发, ok 啊,所以说这个文文章呢,你们可以去好好去了解一下。 ok, 而且这次我讲英伟达,英伟达的它也它的考试就包含索尼克 啊,我也,我也第一次,因为有声机了,然后呢,我给你展示一下如何去刷机,然后呢如何用索尼克来啊,刷到这个英伟达教你机,然后如何去通过索尼克来配, 瑞斯克也可以刷,戴尔也可以刷, raspberry 也可以刷,都可以刷,而且,呃,现在很多的这种白牌交换机开发其实都是基于索尼来自研的, 所以索尼的整体还是比较重要的。顺便呢,我们也再讲容器,顺便呢,也可以体现一下容器化的交换机,你们可以了解一下, 好吧, ok, 呃,这应该就是我们今天的第一大部分,那么讲了介绍了一下 docker 是 什么具体的命令呢?其实还是没有讲,好吧?简单演示了一下,那么我们歇个五分钟,然后回来讲 docker 的 安装和后面的一些章节,好吧?