Docker新功能曝光,一键自动生成 Dockerfile 和 Compose 文件

简介: 首先你会注意到这是一个图形化的工具。我们并没有打破任何已经运作的东西,在幕后仍然是使用 Dockerfiles 和 Compose 文件来创建一切,我们只是为您从 A 点到 B 点提供了一种新的途径......

screenshot

本文首发自“Docker公司”公众号(ID:docker-cn)
编译丨小东
每周一、三、五 与您不见不散!


在 DockerCon 大会上,我们展示了即将推出的 Docker Desktop 版的全新功能,该功能将让您比以往更加容易地设计出基于容器的应用程序。对于一小部分开发人员来说,Docker Desktop 的当前迭代拥有将应用程序进行容器化所需的一切,但这需要先了解 Dockerfile 和 Compose 文件的技术参数,才能开始使用 Docker CLI(命令行界面)来构建和运行您的应用程序。

但是我们一直在考虑如何将这个功能带给所有的开发人员。我们希望让容器化变得更加易用,而且我们也希望让共享和协作变得更加容易,并将基于容器的开发集成到更多开发人员的工具集中。这项新的指导性工作流程功能就是今天我们想要展示的,我们会在这里分享更多细节,并畅想未来。

screenshot

首先你会注意到这是一个图形化的工具。我们并没有打破任何已经运作的东西,在幕后仍然是使用 Dockerfiles 和 Compose 文件来创建一切,我们只是为您从 A 点到 B 点提供了一种新的途径,因为并不是每个人都想从头开始编写 Dockerfiles 和 Compose 文件。


创建新的自定义应用程序

screenshot

当您单击“Custom application(自定义应用程序)”按钮启动工作流程时,您将看到一个罗列着服务的列表,您可以将其添加到新的应用程序中。您选择的每个服务都将成为最终应用程序中的一个容器,而 Docker Desktop 将负责为您创建相关的 Dockerfiles 和 Compose 文件,以便完成后续步骤。

screenshot

目前,您还可以在添加服务时对服务进行一些基本的自定义:您可以根据所选服务更改其版本、端口号和其他一些选项。

screenshot


组装您的应用程序

当您在应用程序中选择了所需的所有服务并准备好继续进行操作时,您需要先给应用程序命名,并指定生成文件的存储位置,然后点击“Assemble(组装)”按钮。

screenshot

组装步骤:为每个服务创建 Dockerfiles 文件,用于启动整个应用程序的 Compose 文件,以及为大多数服务创建一些基本的代码存根,为您启动应用程序提供足够的支持。当然,您可以在选择的编辑器中打开代码存根并立即开始开发,或者用现有的代码替换它们。为该服务创建的 Dockerfile 是设置好的,您可以为其提供任何代码并将其添加到构建的容器中。需要重申的是,这是一个标准的、纯文本的 Dockerfile 文件。因此,如果您或您的团队的其他成员想要深挖和定制容器镜像,那么就可以根据需要修改 Dockerfile 文件。

screenshot

您选择成为应用程序一部分的每项服务都将拥有自己的Dockerfile,以及启动服务所需的代码存根。


运行您的新应用程序

应用程序设计功能还可以创建 Compose 文件,您需要将您选择的所有服务作为一个完整的应用程序组合在一起。就像 Dockerfiles 文件一样,这是一个标准的 Compose 文件,如果您愿意,可以打开并自定义。如果您碰巧知道 Docker CLI 命令,那么您就足以启动任何单个服务或整个应用程序。但是,引导式工作流的重点在于为您做到这一点,因此界面中有一个“Run Application(运行应用程序)”按钮来协调一切:

screenshot

这将从 Dockerfiles 文件中为每个服务启动构建进程,,然后根据 Compose 文件中的指定启动您的应用程序。您可能会注意到用户界面中的“在 Visual Studio 中打开代码”按钮,这是我碰巧安装在这台笔记本上的编辑器。点击该按钮,您就可以直接看到编辑器中的项目文件,准备开始构建新的容器代码测试循环。


从模板开始构建

这就是“自定义应用程序”工作流程,但在这些新工作流程中还有另一种创建应用程序的方法,基于模板的设计。

screenshot

您将在此工作流程中看到的主要区别是,您将看到预先配置的应用程序模板,而不是自己选择所有单个服务:

screenshot

这个想法的目的是,团队最终将能够创建属于自己的模板,使协作和共享变得更加简单。这是目前客户反馈给我们特别感兴趣的一个功能,不仅仅是为了共享,也是为了应用程序架构师和安全团队能够创建预先批准的模板,并在开始就限制可以使用的服务。

我们正在努力为这些工作流程添加更多功能:我们正在完成对 Secrets 、 Volumes 和Networks 等剩余组合功能的支持。我们还希望添加与 CI 系统的集成,并允许您直接从 Docker Desktop 部署到 Docker 企业版。


所有开发人员的 Docker

让 Docker 可供更广泛的开发人员访问是一个主题,您会看到我们一次又一次地回来。如果您有想法帮助我们实现这一目标,请告诉我们。如果您有兴趣尽早访问 Docker Desktop 中的新应用设计功能,请注册 beta.docker.com。

相关文章
|
12天前
|
关系型数据库 MySQL API
|
25天前
|
缓存 监控 持续交付
|
8天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
8天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
18 1
|
12天前
|
应用服务中间件 PHP nginx
Docker-compose 编排lnmp(dockerfile) 完成Wordpress
通过使用Docker Compose,我们可以轻松编排LNMP环境并部署WordPress。本文详细介绍了各组件的Dockerfile和配置文件编写,并通过docker-compose.yml文件实现了整个环境的自动化部署。这种方法不仅简化了部署过程,还提高了环境的可移植性和一致性。希望本文能帮助你更好地理解和使用Docker Compose来管理和部署复杂的应用程序。
38 3
|
19天前
|
负载均衡 监控 开发者
深入浅出:掌握 Docker Compose 的高级用法
【10月更文挑战第22天】本文深入探讨了 Docker Compose 的高级用法,包括环境变量、服务扩展、网络配置和数据卷管理。通过实例详细介绍了如何利用这些功能提升开发效率和应用部署的灵活性。适合希望深入了解 Docker Compose 的开发者阅读。
|
28天前
|
Docker 容器
docker中使用Dockerfile自动创建数据卷
【10月更文挑战第12天】
19 5
|
8天前
|
NoSQL Redis Docker
【赵渝强老师】使用Docker Compose管理容器
Docker Compose 通过 YAML 文件管理多个容器,简化复杂系统的部署和管理。本文介绍了 Docker Compose 的基本概念,并通过一个包含 Redis DB 和 Python Web 模块的示例,展示了如何使用 Docker Compose 部署和管理多容器应用。手动部署和 Docker Compose 部署的对比突显了 Docker Compose 在系统复杂度增加时的优势。
|
8天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
32 0
|
1月前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
197 1