系统:PC
日期:2024-07-09
类别:编程开发
版本:v4.31.1.0
Docker Desktop for Windows官方最新版是一款专业的容器管理应用,应用能够协助开发人员在本地计算机上运行测试容器,应用无需进行先前使用时,长时间的命令准备,只需要几分钟就可以进行编码和容器化,无需使用命令,即可进行管理本地包含的容器。
此外应用拥有强大的搜索功能,用户可以直接在Marketplace中进行搜索所需容器,进行拉取镜像,用户也可以在本地进行对镜像的构建,调整,拥有图形化界面将极大程度上缩减开发的难度,简化了所需流程,此外应用页面简洁高效,操作便捷简单,在安全性和功能上都非常不错。
docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。
因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员再也无法施展表演才华了,不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。
此外docker的另一个好处就是快速部署,这是当前互联网公司最常见的一个应用场景,一个原因在于容器启动速度非常快,另一个原因在于只要确保一个容器中的程序正确运行,那么你就能确信无论在生产环境部署多少都能正确运行。
docker使用的是常见的CS架构,也就是client-server模式,docker client负责处理用户输入的各种命令,比如docker build、docker run,真正工作的其实是server,也就是docker demon,值得注意的是,docker client和docker demon可以运行在同一台机器上。
下面,我们用几个命令来讲解一下docker的工作流程:
1、docker build
当我们写完dockerfile交给docker“编译”时使用这个命令,那么client在接收到请求后转发给docker daemon,接着docker daemon根据dockerfile创建出“可执行程序”image。
2、docker run
有了“可执行程序”image后就可以运行程序了,接下来使用命令docker run,docker daemon接收到该命令后找到具体的image,然后加载到内存开始执行,image执行起来就是所谓的container。
3、docker pull
docker中image的概念就类似于“可执行程序”,我们可以从哪里下载到别人写好的应用程序呢?很简单,那就是APP Store,即应用商店。与之类似,既然image也是一种“可执行程序”,那么有没有"Docker Image Store"呢?答案是肯定的,这就是Docker Hub,docker官方的“应用商店”,你可以在这里下载到别人编写好的image,这样你就不用自己编写dockerfile了。
docker registry 可以用来存放各种image,公共的可以供任何人下载image的仓库就是docker Hub。那么该怎么从Docker Hub中下载image呢,就是这里的docker pull命令了。
因此,这个命令的实现也很简单,那就是用户通过docker client发送命令,docker daemon接收到命令后向docker registry发送image下载请求,下载后存放在本地,这样我们就可以使用image了。
1、速度:
开发人员希望最大限度地利用时间为应用程序编写代码,并最大限度地减少设置和开销,以便可以尽早且频繁地交付。
Docker Init:自动为 Python、Node 和 Go 应用程序生成 Dockerfile 和docker-compose.yml文件。
VirtioFS 支持:数据库导入时间减少 98%。
Docker Compose file watch:自动检测本地主机代码更改并将其与容器同步。
vpnkit => gVisor:容器到主机的网络性能提高 5 倍。
2、安全性:
具体来说,非侵入性、信息丰富且可操作的安全性。开发人员希望在“内循环”中编码时立即捕获并修复漏洞,而不是在 CI 中 30 分钟后或在生产中 7 天后。
Docker Scout:当开发人员在“内循环”中编码时,自动检测漏洞并建议修复。
证明:Docker Build自动生成 SBOM 和 SLSA Provenance 并将它们附加到映像。
3、选择:
开发人员希望能够自由地探索新技术并为正确的工作选择正确的工具,而不是被限制在“除了厨房水槽之外的所有东西”的整体工具中使用最低公分母技术。
Docker 扩展:推出仅一年多,从那时起,合作伙伴和社区成员已经创建并向Docker Hub发布了700 多个 Docker 扩展,用于涵盖 Kubernetes 应用程序开发、安全性、可观察性等广泛的开发人员工具。
Docker 赞助的开源项目:在 Docker Hub 上 100% 免费提供,该赞助计划支持 600 多个开源社区项目。
多种架构:单个docker build命令可以生成在多种架构上运行的映像,包括 x86、ARM、RISC-V,甚至 IBM 大型机。
评分及评论
点击星星用来评分