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天前
|
存储 监控 安全
【专栏】探讨Docker Compose的核心概念、使用方法及最佳实践,助你轻松驾驭容器编排的世界
【4月更文挑战第27天】Docker Compose是款轻量级容器编排工具,通过YAML文件统一管理多容器应用。本文分三部分深入讨论其核心概念(服务、网络、卷和配置)、使用方法及最佳实践。从快速入门到高级特性,包括环境隔离、CI/CD集成、资源管理和安全措施。通过案例分析展示如何构建多服务应用,助力高效容器编排与管理。
|
2天前
|
数据库 Docker 容器
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
【5月更文挑战第8天】Dockerfile是构建Docker镜像的关键,它包含一系列指令,用于描述应用运行环境及所需软件包。通过自动化构建,能提高效率、保证可重复性并提升灵活性。确定基础镜像、安装依赖、设置环境后,执行Dockerfile生成镜像,用于应用程序部署。虽然需要熟悉Docker技术和应用细节,但其带来的益处使其成为现代软件开发和部署的重要工具。
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
|
2天前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
23 4
|
3天前
|
前端开发 API 数据库
【Docker专栏】Docker Compose实战:编排多容器应用
【5月更文挑战第7天】Docker Compose是Docker的多容器管理工具,通过YAML文件简化多容器应用部署。它能一键启动、停止服务,保证开发、测试和生产环境的一致性。安装后,创建`docker-compose.yml`文件定义服务,如示例中的web和db服务。使用`docker-compose up -d`启动服务,通过`docker-compose ps`、`stop`、`down`和`logs`命令管理服务。
【Docker专栏】Docker Compose实战:编排多容器应用
|
9天前
|
Shell 应用服务中间件 nginx
6.Docker Compose
6.Docker Compose
|
11天前
|
应用服务中间件 Shell nginx
制作docker镜像的dockerfile编写规则汇总
制作docker镜像的dockerfile编写规则汇总
|
16天前
|
NoSQL Redis Docker
[docker] Compose 简介
[docker] Compose 简介
|
16天前
|
应用服务中间件 Shell nginx
[Docker] Dockerfile
[Docker] Dockerfile
|
16天前
|
JavaScript Java Docker
使用 Dockerfile 构建和定制 Docker 镜像
Dockerfile是构建Docker镜像的文本文件,包含一系列指令,如`FROM`, `WORKDIR`, `COPY`, `RUN`, `EXPOSE`和`CMD`。它用于自动化`docker build`命令来创建Image。使用Dockerfile可以基于官方镜像定制应用镜像,方便应用容器化和扩展。基本流程包括选择基础镜像、设置工作目录、安装依赖、暴露端口和定义启动命令。构建镜像使用`docker build`,运行容器用`docker run`。了解并熟练使用Dockerfile能提升容器化部署效率。
24 0
|
18天前
|
Java 测试技术 持续交付
云效产品使用常见问题之通过流水线构建的java代码,在docker文件里拿到失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。