粉丝1345获赞4129

大家好,我是云上天,今天教大家如何把我们这个加完项目打包成一个假包,然后把假包又变成一个镜像,在刀客游戏里面运行起来。 因为我们现在都知道,就是说我们现在项目都是可能以前的话都是用架包的话,就是加瓦靠架的话直接启动就可以了。但是现在就是微服项目的话,很多都是用那个,就是在刀客容器里面或者在开发 s 里面运行的,今天就教大家如何做成一个,嗯,镜像就是刀客的镜像来运行起来。 其实做成这个等会进项的话有好几种方式啊,就是说最常用的,比如说用 mami 插件的方式,就说 我们直接在泡沫里面就是引入一个漫威差界,用这个漫威因斯道,然后拍开一只。嗯,再就是说到和 beaut 块运行的一个镜像就可以了,这种方式的话一般的话都在服务器端 打的,但是还有一种的话就是说是直接先打成那个架包,然后再有架包,再自己做成一个等会的镜像。好,我们就采用第二种方式。好,首先的话我们就先这个 用我们这个拍 k 纸吧,就 mame 这边的话有个拍 k 纸,我们点一下先把这个项目变成一个架包。好,这边的话我们可以看到这个打包都是没有问题的,都是四个三 s, 说明我们这个就是可以就是成功的,所以说没有任何问题,我们只需要进入到对应的目录就可以找到他 来,我们寄到我看一下啊,他是到了这个目录下,好,我们寄到这里面去 有个碳,这里面的话就是有一个波特斯 rap。 好,这个波特斯 rap 就是他的一个启动的一个架包。好,我们把这个架包的话,一般的话我们制作进校都是在服务器端吗?所以说,呃,我们比如说在哪个服务器端制作的话,就上传一下就可以了。比如说我们现在的话,先用这个 腾讯的这个 c 五 s 上传吧。好,我们然后找到这个包的十二这个假包,然后上传过去,上传上去。好,他已经上传完成了,上传完成之后我们复制复制他的一个下载的一个链接, 好,复制一下,然后的话我们把它最小化好,然后来到我们服务器,我们只需要下载下来就可以了。好,我们比如说我们进到这个入城目录吧, 比如说我们,嗯,创建一个目录吧,创建一个新的就叫 ws 啊,进到这个 ws 里面,然后的话用 wc 这个命令把我们复制这个链接粘贴到这,然后回车, 这时候的话我们这个下包就下载过了。啊。好,我们做这个等会进项的话,就是说我们还需要有一个叫做等会犯了这样一个文件。好,我们这边的话没有的话我们就用这个 vrm, 我们输入 vrm 或 vr 都可以啊,就是输一个大写的 d。 好,等会发现我这个文件如果说你这个名字也不一定非要叫德和范啊,如果说你不叫德和范的话,就说你可能就是说在做印象的时候,等会 的时候你要给他一个高 f 指定好这边写什么,写什么的话,我这这边都给大家写好了,你只需要把它复制过来就可以了。 好,这个的话就是说他的基础镜像的话就是 oppo jdk 吗?然后的话这边我们需要改哪些参数呢?比如说我们只需要改我们添加了这个 你这个架包,就是说你最后打成的这个架包叫什么名字?比如说我们刚刚上传的这个,大家可以看到啊,这个,这个架包叫什么名字? 好,他就是 x y z 杠杠,波特, strp。 好点驾啊。这边的话,我们把这个我们的这个打好的这个架包的名字输入一下就可以了。 xy z 杠,波特。 好,把这个名字输上之后,然后在里面的话就是说你其他的什么都不用改,然后我们 w q 保存退出,我们来这边的话再输一个名列叫 double 的。 好,然后杠替,就是说给他指定一下,这个都是我们打成这个架包的一个标签,叫什么名字?好?我们就叫 xyz 杠, 嗯,比如说就叫 xyz 吧,然后的话比如说给他一个叫微一微,嗯,冒号微一点零吧。好,这样哥,继续当前目录打包就可以了啊。我们回车 这时候的话就开始制作镜像了。 好,我们只需要 看下面这两个,如果说是 beaut 的两个是个三十放的话,都是说明我们这个做的这个镜像是没有任何问题的。好,我们就做成功了,成功之后我们等会赢卖。这次 在这里面可以看到我们刚刚做的这个镜像 xyz, 他对应的这个,嗯,标签的话就是 v 一点零,也就是没有问题的。好,这时候的话我们就可以运行我们这个容器了,我们可以看一下等会 ps 杠 a, 嗯,我们等会 ps 吧,这样太多了, 这面运行的这个容器里面是没有这个 syz 的。好,我们刀口软, 然后是 atd, 然后把这个参数输一下,然后的话比如说我们要运行什么金,嗯,哪个金项呢?比如说我们要运行的是我们的 x y z 吗? y z, 我们也可以杠杠耐磨,就是说指定一下这个运行起来叫什么名字? x y z。 好,然后运行哪个镜像呢? x y z 冒号,然后是 v, 一点零点零。好,然后我们回车就可以了。 好,这时候的话他就已经运行起来,我们就用刀片 ps 好看一下。 好,这边的话就多了一个好,他的状态也是阿普,所以说在运行呢。好,我们用待会 ps 看一下他的就是有没有启动成功, 然后我们回升。好,大家可以看到这个容器的这个日制的话就是说启动完毕,说明这个容器的话就是已经运行了,也就是我们这个项目就已经启动成功了,以刀客容器的形式。

如何构建属于自己的私人刀客镜像仓库呢?一个视频教会你!上期我们讲了如何通过刀客构建属于自己的刀客镜像,这期我们来讲一讲如何构建自己的远程刀客镜像私人仓库。 首先第一步,打开阿里云,首页里选择产品,选择容器,镜像服务, a c r 实力里面选的个人版,个人版呢,支持三个命名空间和三百个镜像。第二步,创建命名空间, 命名空间有点类似于我们常说的项目名称。第三步,创建镜像仓库。 这里以上期视频本地创建的 vivo 的 c i 镜像为例,这里要选择本地仓库基本信息,里面会教你怎么拉取和推送。 第四步,推送,把我们的镜像推送到远程私人仓库中,打开我们的 ws l 二,然后输入,登录了命令,找到自己要推送镜像的 id, 就是 挨着 id 输入这项指令, 为我们的镜像打一个标签。最后输入这项指令,把我们的镜像推送到远程仓库,等待推送完成。推送成功后, 在阿里云控制台就可以看到你的镜像了。这之后你在任何电脑都可以拉取到你的镜像了。如何拉取呢?输入这份指令,就可以在任何电脑上拉取你的私人镜像了。如果我的视频哪里讲的不对或者有错误的,欢迎批评指正,我们一起学习,一起进步。


我现在这里没有 enix, 我 可以去跑啊,直接,比如说 docker, 要去跑 enix 的 话,就直接杠 d 杠 port 啊,就指定一下,比如说我们要跑到八零八零端口,然后呢,在内部它暴露的是八零端口,我们跑谁呢?跑 enix, 这个时候呢,你当然还可以给他取个名字啊,比如说,呃, 这个你想额外的啊,给他取一个这个跑前的容器名啊,比如说,呃,这个你想额外的啊,给它取一个 name 叫妙麻杠 enix server。 好,回车,这个时候呢,他就会去看有没有本地的这个 nx。 首先看到啊,他会先去找本地有没有,本地没有,那就要从远端去拉啊,拉完之后呢,就可以把它跑起来了,这个镜像跑起来之后变成容器,我们现在再来看一下 docker container, 回车,哦,这个时候你看到有一个容器跑起来了,呃,这个镜像的这个容器的名称叫什么呢?叫妙码 nx server, 妙马 ngceiver。 那 这个时候跑起来了,我们现在来看一看,它是不是已经真的跑起来了呢?直接输入 local host, 八零八零,回车,哇,确实跑起来了,你看, 就这么简单啊。所以同学们如果说能够把一些最核心的技术点掌握的话,很多关键性流程,或者是很多这个关键领域的一些技术点呢,它的其实也我认为啊,它也是符合这种二八定律的。 二八定律什么意思呢?就是你学的所有领域的这些知识,前端也好,服务端也好,部署运维也好,他最最最最常用的工作中就那百分之二十, 还有是百分之八十是能够展现你的这个综合实力的啊,同学们可能在前端领域那掌掌握的目前的基础这些内容呢,在百分之二,超百分之二十,超越了很多啊,但是相对于这个圆心外边界还有很多内容需要去探索, 这些是能够给自己去加成的,所以你想竞争力呢,其实是由这个本身呢,其实供需关系决定的价值嘛,对吧?所以呢,如果大家都掌握的是,那百分之二十其实呢 也够用,对吧?其实说实话,你去面试的时候,工作的时候真正就只有那百分之二十,但是面试的时候可不是,为什么我们常说面试造火箭呢?基本上如果说要能够把人才选拔出来,都是靠了百分之八十里面的内容选择人才的啊, 好,我们这里呢看,看到了,大家看到了吧?八零八零,我不费任何功夫,也没有写任何代码,我就直接把这个 n g x 呢跑起来了,并且八零八零端口啊,也直接出来了。

dock 呢就给我们提供了一种更简编的方法,叫 docker fail, 更 demo, docker fail demo, 我 们可以在这个地方呢建一个 docker fail。 好, 有了这个 docker fail 之后,我们刚才敲的那些命令里面的参数都可以把它抽象到这个 doctor file 里面去。比如说大家可以看一下啊,我刚才启动的时候是不是要依赖这个 index, 那 所以这个 index 呢,是一个其他的镜像啊,其他的镜像我们要用它的时候就直接 from 它, from 它,好,把它放过来, index 就是 这一步,把它 index 这一步拿过来之后,这个呢我们叫使用镜像啊,给大家备注一下,叫使用这个官方的 index alpha 镜像,我们确保一下是对的啊大家,我建议呢,大家去到 这个 docker haven 搜索一下,然后呢来到这边,点到这里面搜一下,搜一下 nix, 回车看看。 nix 这个呢就是官方的啊,这是 nix 官方的,点进去看一下 它的版本,大家可以选择啊,就有有这些版本,大家可以自己随便选择一个,随便选择一个,比如说我们现在选的就是这个 这个版本啊,选的这个版本,那你选择这个这些呢?这些呢都可以。好,那我们就选它,这是第一步选择,选择用完之后呢,我们接下来第二步,其实现在比较简单,就直接 export, 把端口号给他暴露出去, 把端口号给它暴露出去啊,然后呢在呃,如果说你现在本地有内容的话,就考到它里面去,没有内容呢,就不用考,就不用考。好,我们来保存一下啊,大家来看,我把这个内容来保存一下,保存一下之后我现在就可以去跑了,在这个下面呢,如果我要跑它们的话,我们先 cd 到刚才的这个目录下面来。 好,那这个名呢?我们看一下是二点它进来,进来之后这个呢,同样你还是要敲命令啊, docker wrong 杠杠 name, 比如说妙码杠、 ngx 杠什么呢? docker file 杠 server, 我 们把名字取长一点啊,然后呢我们就直接回车,这个时候就可以直接回车啊,但是呢,我们一般情况下这样去写 docker file 写出来的内容呢,都是要把它构建成镜像的。

pdf 中常用的指令有哪些?一张图带你搞清楚,我们来看一下这张图里面我们把 pdf 类比成盖房子,我们盖房子的时候必须先有底盘才能盖房子,这就类似于 from 指令,它表示当前镜像是基于哪个镜像创建的。 改好房子以后,我们开始装修房子,就像是绕命令,它表示安装运行命令。装修完房子之后,我们开始搬家具进房子。就类似于 copy 命令,它表示把宿主机的文件目录拷贝到镜像,然后我们开始设置房间的功能和灯光。就类似 workbench 烟味命令, 分别表示工作目录和环境变量。然后我们的门窗就等于 expose 指令存储式等于 volume 表示挂载卷,水开门等于 user 怎么开门等于 c m d control point, 使之前定制要求类比于 a r g, 它表示可变参数 房子的说明书等于 label 表示标签实质工具等于是有指令,它表示用哪个是有执行。这就是 docker file 里面的常用指令,下次你想不起这些指令的时候,可以想盖房子。然后我们把这些指令再放到 docker file 中看看一下这个。 docker file 表示基础镜像, a r j 表示构建时的可变参数。 workspace 英 v 表示设置工作目录和环境变量。 copy add 表示复制本地文件到镜像让命令表示安装运行命令。 export 命令表示端口。 logon 表示挂载卷用于数据持久化。 show 表示指定后续命令的 show label 表示给镜像加标签, user 表示指定运行容器的用户。 c m d endpoint 表示容器启动时执行的命令。

这种构建的方式呢?是什么样子的呢?我们先指定好,指定好之后我们在最外面的那一层去构建这个镜像,那这是接下来的一个新的命令啊,叫 docker build。 我 们可以杠 i 去看一下这个 docker build 是 干嘛的,就是拿来去把一个我们编辑好的这个 docker file 这部分内容打包成一个镜像啊,构建成一个镜像好,我们就直接 docker build, 然后呢杠 p 取个名字,这个名字叫什么呢?比如说就像我们刚才说的那个妙码杠,呃, docker file 杠 server 啊,好,现在就直接回车,这个时候呢,它就会去构建这个镜像, 大家注意看这个名称啊,叫妙码 docker file server, 构建呢可能需要一点时间, dockhub 网站打不开,这是大家可能用 docker 的 第一个问题,大家用 docker fail。 第二个问题就是用这个 docker 的 第二个问题就是,你哪怕本地有翻墙,翻完之后你到服务器上面还是没法用啊,就你到服务器上面可能还是没法用,那怎么办呢? 如果到了服务器上面整个内容不能用的话,有一些其他的方式,就比如说你用镜像,但是镜像这种方式呢,其实它也不是那么好用 啊,用镜像的那种方式其实也不是那么好用。呃,其实我们在 vip 里面给大家讲了一个我自创的一种办法,我看报什么错,应该是指定的问题吧, bitenami, 我重新再构建一下。 好,现在可以了,网络问题啊。 ok, 现在呢,其实这个镜像就构建成功了啊。然后呢,我们现在来看一下,这里呢,是不是多了一个镜像在这里啊?大家看一下镜像在哪呢?在这, 这就是我们刚才打的这个新的镜像,叫妙码 docker file server, 这个镜像接下来就可以跑了,这个镜像接下来就可以跑了,好,怎么跑呢?我们来到这边命令行里面,通过执行 docker run, run 什么呢?我们本地的哈,大家看本地刚才这个是不是叫妙码杠 docker file server, 是 这个吧?镜像是这个,对吧?镜像是这个,然后里面暴露给外部的是哪个端口?八零端口,对不对?八零端口,那我们这里也是一样的八零九零八零 一样的写法啊,然后这边呢我们要把它改一下,这个就直接叫啊 docker file server, 杠 d, 好, 回车,这个时候呢就能够跑起来,但是他因为这里端口号啊,占用了,我们换一个别的八零九八八零九八,好吧,回车。 嗯,他说这个好,我把之前那个停掉,我把之前的这个服务先停掉吧,把这个把这个,把这个先停掉, 然后呢把这两个都先删掉,这是我前面跑的这个也把它删掉。好,删掉之后我们重新来跑一下,来到这边,然后呢直接再回车,好,八零九八,对吧?就跑起来了。这个呢就是我们以刚我们自己建好的这个镜像来跑的,而不是用的 n x, 你 看我这里没有没有任何地方体现出来是用的 n x 来跑的吧, 这完全得益于我们用 docker file 来配置了这样一个自定义的镜像,然后把自定义的镜像通过刚才的这个 build 的 过程,把它打成了一个新的镜像,叫妙码 docker file server。 然后我们在用的时候呢,就用我们这个新的镜像,所以同学们就知道了,定义这个镜像的时候,你可以在这个里面写非常非常多的东西。

用了刀刻之后,手动配开发环境的日子一去不复返了。以前做嵌入式最头疼的就是换不同厂家的单片机, 每次都要重新装一堆软件配置环境,才能开着写代码。直到我遇见了 esp 三二的 idf, 刀刻镜像一下子打开了新世界的大门。从那以后,只要提供刀刻镜像的开发环境,我都会选择刀刻翻译。 为什么呢?三个实在的好处,一,环境大镜快,一个 dog poo 直接搞定。或者使用 dog file 构建一个镜像。第二点,随时切换不同版本的 sdk, 互不干扰。第三点,在任何电脑上都能保持环境一致,兼容问题少,迁移也很方便。 最近我入手了一块 n 字谱的开发板,正好借这个机会又深入了。折腾了一下 dunk, 把 rayf o r t o s 的 环境也配了起来。 n 字谱对 rayf o 的 支持也是挺全的, 同时也学习一下 vivo 这个 rqs。 我 用的环境是 ws 二加 dog。 以我使用的乌曼图二二零四为例,操作其实很简单,打开终端,先用这行命令拉取官方写好的 dog file。 第二步,用这条指令构建一个不含 sdk 的 基础镜像。第三步, 再用这个命令构建包含 sdk 的 完整镜像,其中的 target 就 像 get 标签,用来区分版本。 镜像贡献好之后,如果你想进入容器内部操作,一般用刀口弯杠 it 就 可以交互式的运行。以上内容我有讲的不清楚或者有错误的地方,欢迎大家随时读出,我们一起学习,一起进步!下期一起来点灯!