回答元问题

回答元问题

我正在研究使用 Docker 来标准化开发人员的 Java 工作站配置的可能性。其理念是,团队中的新开发人员可以快速轻松地使用开发/构建和部署所需的所有工具。

我了解在构建管道中,甚至在生产环境中使用 Docker 的吸引力,但很难看出它是否可以作为开发工作站中的工具使用。

例如,拥有一个装有 Eclipse 的 docker 容器,并且配置了必要的插件(和构建工具 - 例如:maven、ant 等)、一个用于数据库的容器、一个用于应用程序服务器的容器。

当然,我可以预见到如果有人试图在 Eclipse 中编辑代码并且想要在应用服务器中热交换代码(如果应用服务器位于不同的容器中)则会增加复杂性。

如何利用基于容器的环境成功且高效地实现这一目标?

答案1

回答元问题

流浪汉是一款用于设置和配置开发人员工作站的工具。在继续使用 Docker 之前,您应该先了解一下它。

回答 Docker 问题

如果你决定使用 docker 路线,那么Docker 组成是您选择的工具。您的所有容器都将在 Compose 文件中指定,例如:

dev:
  eclipse:
    image: eclipse
  db:
    image: mysql
    ports: 
     - "3306:3306"
    volumes:
     - .:/db
  server:
    image: myapp_server
    ports:
     - "port:port"

然后,只需运行docker-compose up。

你可以在 Docker Hub 找到你需要的许多容器

答案2

如果我是你,我会将几个任务分开 - 并以不同的方式处理它们。对于本地开发人员环境,我建议使用 Puppet / Terraform / Chef(或任何其他配置管理工具),它可以设置 Eclipse 和其他 GUI 相关工具(Puppet 处理多个包管理器,在 Windows 上也可以使用 Chocolatey)。

非 GUI 类型的资源(如 SQL 服务器、缓存服务器、应用程序服务器/容器)可以在 Docker 中定义(当然使用 -compose)- 主机和容器之间共享一些卷。这两种解决方案都可以在 GIT 中进行管理和跟踪。

相关内容