今天对我们桌面虚拟机管理程序团队来说是重要的一天。我们心爱的产品Fusion和Workstation正在获得一些相当重要的更新,而不会给现有用户带来额外费用。
关于我们对开发人员、社区和Windows的承诺,我们有很多要分享的,所以让我们马上开始吧!
VMware长期以来一直为开发人员、终端用户和IT专业人员提供我们屡获殊荣的桌面虚拟机管理程序产品VMware Fusion和Workstation提供的一些同类最佳功能。
然而,当谈到开发和测试今天的现代应用程序时,事情看起来与Fusion最初设计支持的传统应用程序略有不同。
今天,我们自豪地通过使用我们屡获殊荣的管理程序技术堆栈提供对OCI容器的新支持,来表达我们对当今现代开发人员的承诺。Fusion 11.5用户现在可以将提取、构建、运行和推送容器作为现代开发和测试工作流程的一部分,而不需要安装扩展坞桌面等其他工具。
为了支持这些新的工作流,我们创建了一个新的CLI工具:vctl,今天我们将它作为Fusion 11.5.5更新的一部分发布。
vctl旨在本地管理容器和我们基于容器的运行时。我们使用vctl从远程容器存储库(如Harbor或Docker Hub)拉取并运行镜像,或者使用标准Dockerfile构建自定义容器镜像。
有些人可能还记得,在几个月前的技术预览中,我们第一次引入了vctl作为鹦鹉螺项目的一部分。从那时起,我们听取了社区的意见,做了一些更改,添加了一些新功能,并准备将其作为现有Fusion 11.5或Fusion 11.5 Pro的免费更新的一部分带到世界各地。(是的,两者都有!)
对于初学者来说,这是一种新的语法。如果你熟悉码头,你会有宾至如归的感觉。所以像‘vctl run nginx’这样的东西和‘docker run nginx’的作用是一样的。
我们认为用户也会很高兴听到我们还增加了构建支持,这样您就可以从标准Dockerfile构建映像了。
让我们快速了解一下如何开始使用vctl!
有了vctl cli体验,我们希望专注于用户使用容器执行的一些最常见的任务,并将其引入我们独特的容器引擎,为人们带来全新的东西。
>;vctl从index.docker.io/library/nginx拉取nginxINFO:最新的库引用状态进度─index-sha256:30dfa439718a17baafefadf16c5e7c9d0a1cde97b4fd84f63b69e13513be7097完成100%(1412/1412)manifest-sha256:8269a7352a7dad1f8b3dc83284f195bac72027dd50279422d363d49311ab7d9b完成100%(948/948)layer-sha256:11fa52a0fdc084d7fc3bbcb774389fd37b148ee98e7829cea4af189735acf848完成100%(203/203)layer-sha256:afb6ec6fdc1c3ba04f7a56db32c5ff5ff38962dc4cd0ffdef5beaa0ce2eb77e2完成100%(27098756/27098756)config-sha256:9beeba249f3ee158d3e495a6ac25c5667ae2de8a43ac2a8bfd2bf687a58c06c9完成100。%(6670/6670)layer-sha256:b90c53a0b69244e37b3f8672579fc3dec13293eeb574fa0fdddf02da1e192fd6完成100%(23922586/23922586)信息解包nginx:最新.信息完成。
拉取图像很常见,为简单起见,默认为docker Hub,但您可以指定另一个repo或注册表的完整路径。
>;vctl run--name=myNginx-t-d nginxINFO容器myNginx已启动并与当前会话分离。
>;vctl ps-a─名称映像命令IP端口状态创建时间─mynginx nginx:最新的nginx-g守护进程关闭;172.16.6.151 n/a运行2020-05-28T12:21:46-07:00>;vctl镜像─名称创建时间大小─nginx:最新2020-05-28T12:21:13-07:00 48.7 MiBphoton:最新2020-05-27T19:40:03-07:00 14.5 MiB
它对资源的要求相当低,而且在使用-c和-m(CPU和内存)标志启动容器时,您还可以控制为设备分配或多或少的资源。不带参数运行vctl run以查看一些示例。
当容器启动时,我们还会将rootfs挂载到Host,这意味着您可以使用Finder浏览容器内容!您可以打开应用程序的运行代码,进行实时更改,感觉就像在Mac上编辑任何其他文件一样。
>;vctl描述myNginxName:myNginxStatus:runningCommand:nginx-g后台进程关闭;主机中的容器根文件:/Users/mike/.vctl/storage/containerd/state/io.containerd.runtime.v2.task/vctl/myNginx/rootfsIP地址:172.16.6.151创建时间:2020-05-28T12:21:46-07:00映像名称:nginx:latestImage大小:48.7MIB主机虚拟机:/Users/mike/.vctl/.r/vms/myNginx/myNginx.vmxContainer虚拟机中的根文件:/.tainers/myNginx主机VM中的访问权限:vctl execvm--sh-c myNginxExec在主机VM中:vctl execvm-c myNginx/bin/ls。
在运行的容器上使用DESCRIBE命令,我们可以看到更多细节,以及我们可以复制并粘贴到‘Shell’到我们的设备操作系统中的execvm命令,或者运行一些进程(在上面的示例…中为/bin/ls)。。(这当然是除了能够vctl exec进入容器进程本身…之外)。
只需更新到Fusion 11.5.5,打开您最喜欢的终端应用程序,然后运行vctl System Start,即可轻松入门。
一旦守护进程运行,您就可以尝试拉取或构建并运行容器映像!
我们的GitHub页面上有大量的文档和示例,还有我们普通的文档中心。
如果您的容器或dockerfile遇到错误,请让我们知道,这样我们就可以通过提交问题来支持它!
发布伟大的软件很有趣,但同样令人兴奋的是它周围的社区。
VMware有一个由来已久的社区,但它倾向于通过VMware技术网络(我们的社区论坛)以“VI Admin”为中心,我们欢迎用户在那里与我们分享他们的经验。
然而,当涉及到更多与发展相关的讨论时,VMTN社区论坛可能并不总是有合适的专家随时可用。
我们与VMware{code}团队合作,在VMware{code}Slake社区中创建了一个新的Slake频道:#Fusion-Workstation!
加入VMware{code}是免费的,一旦加入,您将收到一封电子邮件,其中包含指向主Slake频道的链接。
VMware Code社区充满了超越VI管理员典型职责的人员,我们的Fusion and Workstation产品和工程团队将直接参与帮助回答棘手的问题。*编辑:我们可能也会分享一些Meme。
我们还将与VMware{code}团队、社区和我们自己一起现场和录制活动,努力帮助人们充分利用Fusion和Workstation。关注我们的Fusion和Workstation Twitter帐户,了解最新详细信息!
正如本文前面提到的,我们还有我们的Github存储库,其中有示例文档、How-to内容以及vctl子命令的详细描述。我们鼓励用户通过提交问题来让我们知道他们是否遇到了vctl的任何障碍,这样我们就可以努力确保每个OCI容器都能顺利运行!
经过VMware和Microsoft之间多年的协作开发和工程设计,我们很自豪能够提供一个兼容性故事,其中Workstation 15.5.5和更新版本可以在启用了Hyper-V模式的Windows 10主机上运行。
安全功能(如Device Guard和Credential Guard)以及开发人员功能(如WSL)以及之前使工作站完全无法操作的功能都需要Hyper-V模式。
所以这是很大的一部分,…。我们致力于为Mac开发新的容器运行时并支持Windows上的WSL,为社区提供许多新的参与方式和内容日历,以帮助人们最大限度地利用Fusion和Workstation,并承诺通过我们多年的协作努力,通过Workstation支持Windows 10 Hyper-V模式。