首页 文章 精选 留言 我的

精选列表

搜索[学习],共10000篇文章
优秀的个人博客,低调大师

docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速

一、前言 先回顾下上一节创建docker-machine的过程,默认情况下docker toolbox中的docker-machine使用virtual box创建虚拟机,KI首次启动时创建虚拟机的过程,大致相当于下面这条命令: docker-machine create --driver virtualbox default 输出如下: Running pre-create checks... Creating machine... (default) Copying /Users/yjmyzz/.docker/machine/cache/boot2docker.iso to /Users/yjmyzz/.docker/machine/machines/default2/boot2docker.iso... (default) Creating VirtualBox VM... (default) Creating SSH key... (default) Starting the VM... (default) Waiting for an IP... Waiting for machine to be running, this may take a few minutes... Machine is running, waiting for SSH to be available... Detecting operating system of created instance... Detecting the provisioner... Provisioning with boot2docker... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon... Checking connection to Docker... Docker is up and running! To see how to connect Docker to this machine, run: docker-machine env default 其大致过程为从网上下载boot2docker.iso这个文件,然后利用它创建VirtualBox VM,然后生成SSH key(方便免密码登录到虚拟机)、分配IP之类,创建完以后,可以用: docker-machine env default 查看虚拟机default的状态,如果要删除该虚拟机,直接 rm -rf ~/.docker/machine/machines/default 现在才开始本文的正题: 二、使用vmware做为docker machine 对于已经在mac上安装了vmwarefusion的同学来讲,为了使用docker强制安装一个virtualbox有点多余,其实docker支持vmwarefusion,只要把driver改一下就行了,命令如下: docker-machine create --driver vmwarefusion default 创建完成后,用docker-machine ls列出所有虚拟机 可以看到类型确实为vmwarefusion,然后可以 docker-machine ssh default 连接到虚拟机的终端下,顺便ping下外网地址,检查下虚拟机里是否能上网(这个很重要,因为后面下载镜像需要联网) 如果有条件翻*^墙的同学,可以运行 docker pull kitematic/hello-world-nginx 直接从docker hub拉一个只有几M的镜像文件试试 三、设置国内镜像加速pull docker hub官网太慢了,还好国内有一家公司daocloud提供了加速服务,设置步骤: 3.1 先到daocloud.io网站注册一个账号 过程略,注册成功后,进入控制台 3.2 点击控制台上的加速器 拉到中间部分,有一个『主机监控程序』的文字链接,见下图: 然后选择主机类型,我用的是mac,所以选择mac主机: 如果已经安装好了docker toolbox最新版,直接点击【安装好了】 然后会出现二条命令,复制粘贴执行即可: 注:如果按它的提示,最后出现latest: Pulling from daocloud/daomonit not found之类的错误,可以尝试 docker logout daocloud.io 然后重试,安装成功后,执行 dao pull ubuntu 就可以感受下速度了 如果好奇dao这个命令是什么鬼?可以 which dao 查找下位置,正常情况下应该在/usr/local/bin/dao下,可以cat看下该文件的内容: #!/bin/sh # DaoTools made by DaoCloud # Update command_exists() { command -v "$@" > /dev/null 2>&1 } lsb_dist='' if command_exists lsb_release; then lsb_dist="$(lsb_release -si)" fi if [ -z "$lsb_dist" ] && [ -r /etc/os-release ]; then lsb_dist="$(. /etc/os-release && echo "$ID")" fi lsb_dist="$(echo $lsb_dist | cut -d " " -f1)" lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')" sh_c='sh -c' if [ "$user" != 'root' ]; then if command_exists sudo; then sh_c='sudo -E sh -c' elif command_exists su; then sh_c='su -c' else echo >&2 'Error: dao needs the ability to run commands as root.' echo >&2 'We are unable to find either "sudo" or "su" available to make this happen.' fi fi update_daotools() { ## Update Bash from https://get.daocloud.io/daotools ## Update Docker Image $sh_c "docker inspect daocloud.io/daocloud/daocloud-toolset" > /dev/null 2>&1 if [ $? -eq 0 ]; then $sh_c "docker pull daocloud.io/daocloud/daocloud-toolset" fi $sh_c "curl --retry 20 --retry-delay 5 -L -o /tmp/daotools https://get.daocloud.io/daotools" if grep -q "DaoCloud" /tmp/daotools then $sh_c "chmod +x /tmp/daotools" if [ "$lsb_dist" = "coreos" ] then $sh_c "mv -f /tmp/daotools /opt/bin/dao" else $sh_c "mv -f /tmp/daotools /usr/local/bin/dao" fi fi # if [ "$(uname)" == "Darwin" ] # then # chmod 777 /usr/local/bin/dao # fi } # RUN $sh_c "docker inspect daocloud.io/daocloud/daocloud-toolset" > /dev/null 2>&1 if [ $? -eq 1 ]; then echo "Dao from DaoCloud" echo "Initializing, Please wait a minute" $sh_c "docker pull daocloud.io/daocloud/daocloud-toolset" if [ $? -eq 0 ]; then echo "Inital Success" echo fi fi # UPDATE update_daotools > /dev/null 2>&1 & # check if this is a tty mode tty > /dev/null 2>&1 if [ $? -eq 0 ] then istty="-it" else istty="" fi if [ "$(uname)" = "Darwin" ] then $sh_c "docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker:ro \ -v /mnt/sda1/daocloud:/etc/daocloud -v /tmp/daocloud:/tmp/daocloud $istty daocloud.io/daocloud/daocloud-toolset $*" elif [ "$lsb_dist" = "boot2docker" ] then $sh_c "docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker:ro \ -v /mnt/sda1/daocloud:/etc/daocloud -v /tmp/daocloud:/tmp/daocloud $istty daocloud.io/daocloud/daocloud-toolset $*" else $sh_c "docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker:ro \ -v /etc/daocloud:/etc/daocloud -v /tmp/daocloud:/tmp/daocloud --privileged $istty daocloud.io/daocloud/daocloud-toolset $*" 有兴趣的可以仔细研究研究 参考文章: http://elasticskies.com/docker-machine-on-osx-with-vmware-fusion/

优秀的个人博客,低调大师

Spark入门到精通视频学习资料--第八章:项目实战(2讲)

项目实战主要以数据处理为整体方向,总体的处理流程如下所示: 数据源-->存储(HDFS)-->计算(MR/SPARK/MPI)-->计算结果(Mysql/HBase/Redis)-->查询接口(WEB/报表) 按照这样的思路来讲解项目实战,具体请看视频: 《项目架构与案例(上).mp4》 链接: http://pan.baidu.com/s/1bnCm82r 密码: entn 《项目架构与案例(下).mp4》 链接: http://pan.baidu.com/s/1nt1cPD3 密码: ydqu 《项目架构与案例.pdf》 链接: http://pan.baidu.com/s/1c0k0iVu 密码: qm8k ========================================================== 申明:视频资料已过期,建议不要再下载了。 ==========================================================

优秀的个人博客,低调大师

Spark入门到精通视频学习资料--第一章、Scala基础与实践

第一章、Scala基础与实践(3讲) Scala编程语言抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。 根据DavidRupp在博客中的说法,Scala可能是下下一代Java。 Scala有几项关键特性表明了它的面向对象的本质。例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。另外,类可以被子类化,而且Scala还提供了基于mixin的组合(mixin-basedcomposition)。 与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。 Scala还包含了若干函数式语言的关键概念,包括高阶函数(Higher-OrderFunction)、局部套用(Currying)、嵌套函数(NestedFunction)、序列解读(SequenceComprehensions)等等。 Scala是静态类型的,这就允许它提供泛型类、内部类、甚至多态方法(PolymorphicMethod)。另外值得一提的是,Scala被特意设计成能够与Java和.NET互操作。Scala当前版本还不能在.NET上运行(虽然上一版可以-_-b),但按照计划将来可以在.NET上运行。 Scala可以与Java互操作。它用scalac这个编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。你可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。用DavidRupp的话来说,它也可以访问现存的数之不尽的Java类库,这让(潜在地)迁移到Scala更加容易。 废话不多说,直接上视频: 上:http://pan.baidu.com/s/1eQy87ia 中:http://pan.baidu.com/s/1nRuc2 下:http://pan.baidu.com/s/1bGe42 欢迎下载参考。 另外给个相关的PDF文件供参考: http://pan.baidu.com/s/1dDAMwwT ========================================================== 申明:视频资料已过期,建议不要再下载了。 ==========================================================

优秀的个人博客,低调大师

《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS产生的背景

1.1 HarmonyOS产生的背景 2024年4月17日,第21届华为分析师大会在深圳开幕。华为副董事长、轮值董事长徐直军在大会上透露,华为希望通过2024年一年的时间,先在中国市场把智能手机上使用超过99%时间的5000个应用全面迁移到鸿蒙原生操作系统上,真正实现操作系统和应用生态的统一,“当把这5000个应用以及其它成千上万的应用都从安卓生态迁移到鸿蒙操作系统上时,我们的鸿蒙操作系统就真正完成了打造,并真正成为除了苹果iOS和谷歌安卓外的全球第三个移动操作系统。” 那么到底什么是HarmonyOS?为什么需要HarmonyOS? 1.1.1 为什么需要HarmonyOS 2019年5月15日,美国商务部宣布,把华为及70家关联企业列入其所谓的“实体清单”(Entities List)。这意味着,今后如果没有美国政府的批准,华为将无法向美国企业购买元器件和购买技术。“实体清单”是美国为维护其国家安全利益而设立的出口管制条例。在未得到许可证前,美国各出口商不得帮助这些名单上的企业获取受本条例管辖的任何物项。简单地说,“实体清单”就是一份“黑名单”,一旦进入此榜单实际上是剥夺了相关企业在美国的贸易机会。 随着中国国力的崛起,美国的“实体清单”不断扩容,体现了美国对中国高科技企业的限制升级,科技再次成为中美博弈的核心领域。 作为中国科技领域的头部企业,华为首当其冲。华为虽然早就建立了自己的芯片企业——海思。但海思生产的芯片还不能完全覆盖自己的产品线,华为依然需要直接采购美国芯片厂商的产品。受到“实体清单”的影响,美国全面封锁华为在全球的芯片采购,直接导致了华为忍痛出售旗下手机品牌——荣耀。 不光是芯片等硬件产品,在“实体清单”的限制下,软件等技术同样受到限制。谷歌已暂停与华为的部分合作,包括软件和技术服务的转让。华为在国外市场面临着升级Android版本、搭载谷歌服务等方面遇到困境。华为智能手机业务在海外市场占有率明显下降。 早在1999年,中国科技部原部长徐冠华曾说,“中国信息产业缺芯少魂。”其中的芯指的是芯片,而魂则是指操作系统。当时,中国曾大力扶持国产芯片和操作系统,也曾诞生过一些亮眼的产品,比如红旗Linux、龙芯等。然而,20多年过去了,中国依然是缺芯少魂,这次美国对华为的封杀,第一个禁的是芯片,第二个禁的就是操作系统。 为了避免被人“卡脖子”,华为展开了自救和反击。2019年5月17日凌晨2点,华为海思总裁何庭波发表致员工的一封信,信中称,“公司多年前做出了极限生存的假设,预计有一天,所有美国的先进芯片和技术将不可获得”,而华为“为了这个以为永远不会发生的假设,数千海思儿女,走上了科技史上最为悲壮的长征,为公司的生存打造 ‘备胎’”。信中称,“今天,命运的年轮转到这个极限而黑暗的时刻,超级大国毫不留情地中断全球合作的技术与产业体系,做出了最疯狂的决定,在毫无依据的条件下,把华为公司放入了实体名单。”信中还称:“今后的路,不会再有另一个10年来打造备胎然后再换胎了,缓冲区已经消失,每一个新产品一出生,将必须同步 ‘科技自立’ 的方案。” 因此,在这个背景下,除了加大海思的研发投入之外,华为推出了自己的操作系统——HarmonyOS。正如其中文“鸿蒙”的寓意,意味着这个HarmonyOS将会开启一个开天辟地的时代。HarmonyOS在2019年8月9日华为开发者大会上首次公开亮相。 1.1.2 HarmonyOS概述 HarmonyOS在2019年8月9日华为开发者大会上首次公开亮相,华为余承东进行主题演讲。在演讲中,余承东正式公开了HarmonyOS。 HarmonyOS也称为鸿蒙、鸿蒙系统,或者鸿蒙OS,是一个全新的面向全场景的分布式操作系统。HarmonyOS以人为中心,将人、设备、场景有机地联系在一起,尤其是面向IoT(Internet of Things,物联网)领域,将多种智能设备的体验进行系统级融合,使得人、设备、场景不再是孤立的存在,为用户适应不同场景带来最佳体验。 HarmonyOS是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴(Wearable)、智慧屏(TV)、车机(Car)等多种终端设备。 对消费者而言,HarmonyOS用一个统一的软件系统,从根本上解决了消费者使用大量终端体验割裂的问题。HarmonyOS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备,为消费者提供统一、便利、安全、智慧化的全场景体验。 对应用开发者而言,HarmonyOS采用了多种分布式技术,整合各种终端硬件能力,形成一个虚拟的“超级终端”。开发者可以基于“超级终端”进行应用开发,使得应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦上层业务逻辑,而无须关注硬件差异,更加便捷、高效地开发应用。 对设备开发者而言,HarmonyOS采用了组件化的设计方案,可以按需调用“超级终端”能力,带来“超级终端”的创新体验。HarmonyOS根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。 举例来说,当用户走进厨房,用HarmonyOS手机一接触微波炉,就能实现设备极速联网;用HarmonyOS手机接触一下豆浆机,立刻就能实现无屏变有屏。 HarmonyOS能够把手机的内核级安全能力扩展到其他终端,进而提升全场景设备的安全性,通过设备能力互助,共同抵御攻击,保障智能家居网络安全;HarmonyOS通过定义数据和设备的安全级别,对数据和设备都进行了分类分级保护,确保数据流通安全可信。 1.1.3 OpenHarmony、HarmonyOS、HarmonyOS NEXT与鸿蒙的联系与区别 1、OpenHarmony OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。开放原子开源基金会由华为、阿里、腾讯、百度、浪潮、招商银行、360等十家互联网企业共同发起组建。 OpenHarmony暂时还没有中文名字,业界一般俗称为“开源鸿蒙”。 OpenHarmony开源项目主要包括两部分:一是华为捐献的“鸿蒙操作系统”的基础能力;二是其他参与者的贡献。因此,OpenHarmony是“鸿蒙操作系统”的核心底座。 2、HarmonyOS HarmonyOS就是“鸿蒙操作系统”,或者简称为“鸿蒙OS”,是基于OpenHarmony、AOSP等开源项目的商用版本。 这里需要注意: 一是HarmonyOS不是开源项目,而是商用版本。 二是HarmonyOS手机和平板之所以能运行Android应用,是因为HarmonyOS实现了现有Android生态应用(即AOSP)的运行。 3、HarmonyOS NEXT 2023年8月4日,在华为开发者大会上,华为发布HarmonyOS Next开发者预览版本。据介绍,HarmonyOS NEXT系统底座全线自研,去掉了传统的AOSP代码,不再兼容安卓开源应用,仅支持鸿蒙内核和系统的应用,因此也被称为“纯血鸿蒙”。 HarmonyOS NEXT可以理解为HarmonyOS面向未来的、自研程度更高的下一代鸿蒙系统。 4、鸿蒙生态 鸿蒙生态包括OpenHarmony、HarmonyOS和HarmonyOS NEXT,当然还包括开发工具以周边的一些开发库。当我们在说“鸿蒙”的时候,也许就是指鸿蒙生态。 1.1.4 HarmonyOS应用开发 为了进一步扩大HarmonyOS的生态圈,面对广大的硬件设备厂商,HarmonyOS通过SDK(Software Development Kit,软件开发工具包)、源代码、开发板/模组和HUAWEI DevEco Studio等装备共同构成了完备的开发平台与工具链,让HarmonyOS设备开发易如反掌。 应用创新是一款操作系统发展的关键,应用开发体验更是如此。一条完整的应用开发生态中,应用框架、编译器、IDE(Intergeated Development Environment,集成开发环境)、API(Application Program Interface,应用程序接口)、SDK都是必不可少的。为了赋能开发者,HarmonyOS提供了一系列构建全场景应用的完整平台工具链与生态体系,助力开发者,让应用能力可分可合可流转,轻松构筑全场景创新体验。 本书就是介绍如何针对HarmonyOS进行应用的开发。可以预见的是,HarmonyOS必将是近些年的热门话题。对于能在早期投身于HarmonyOS开发的技术人员而言,其意义不亚于当年Android的开发,HarmonyOS必将带给开发者广阔的前景。同时,基于HarmonyOS提供的完善的平台工具链与生态体系,笔者相信广大的读者一定也能轻松入门HarmonyOS。 5G网络准备就绪,物联网产业链也已经渐趋成熟,在物联网即将爆发的前夜,正亟须一套专为物联网准备的操作系统,而华为的HarmonyOS正逢其时。Windows成就了微软,Android成就了谷歌,HarmonyOS是否能成就华为,让我们拭目以待。 参考资料 本文同步至:https://waylau.com/deveco-studio-5-develop-harmonyos-3/ 《跟老卫学HarmonyOS开发》 开源免费教程,https://github.com/waylau/harmonyos-tutorial 《鸿蒙HarmonyOS手机应用开发实战》(清华大学出版社) “鸿蒙系统实战短视频App 从0到1掌握HarmonyOS”(https://coding.imooc.com/class/674.html) 《鸿蒙HarmonyOS应用开发入门》(清华大学出版社) “2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”(https://coding.imooc.com/class/843.html) 《鸿蒙HarmonyOS应用开发从入门到精通战(第2版)》(北京大学出版社)

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册