设置Java+;svn+;日食+;Tomcat,带docker的开发环境

设置Java+;svn+;日食+;Tomcat,带docker的开发环境,java,eclipse,ubuntu,docker,docker-compose,Java,Eclipse,Ubuntu,Docker,Docker Compose,我刚刚开始试用docker,看看它是否有助于建立我们的开发环境,包括 JDK1.6 蚀 兔子 雄猫 MySQL服务器 我们的开发桌面主要是Ubuntu 16.04。我将在主机上安装eclipse、RabbitVCS,其余的安装在容器中 如果一切顺利,开发人员应该能够下载Docker映像。运行该映像应该为他们提供JDK、Tomcat和MySQL服务器。然后,开发人员可以开始使用RabbitVCS来检查项目 这对Docker可行吗?是的,可行 我建议对每个服务使用不同的容器(Mysql/Tomcat

我刚刚开始试用docker,看看它是否有助于建立我们的开发环境,包括

  • JDK1.6
  • 兔子
  • 雄猫
  • MySQL服务器
  • 我们的开发桌面主要是Ubuntu 16.04。我将在主机上安装eclipse、RabbitVCS,其余的安装在容器中

    如果一切顺利,开发人员应该能够下载Docker映像。运行该映像应该为他们提供JDK、Tomcat和MySQL服务器。然后,开发人员可以开始使用RabbitVCS来检查项目

    这对Docker可行吗?

    是的,可行

    我建议对每个服务使用不同的容器(Mysql/Tomcat/JDK)。您可以使用docker compose将容器连接在一起并自动化许多任务。已经有很多图像可以使用

    下面是一个简单的示例,说明如何设置自己的docker-compose.yml文件:

    services:
        tomcat_service:
        #contains tomcat & jdk
            image: tomcat
            volumes:
                - /local/path:/path/in/docker
            links:
                - mysql_service
            depends_on:
                - mysql_service
            ports:
                - "80:80"
              # - other ports for debugging
    
        mysql_service:
            image: mysql
            volumes:
                #you should keep mysql data on the host, not in container
                - /local/path/data:/var/lib/mysql
    
    上面使用的每个图像将自动从dockerhub下载: ,

    EDIT:jdk和tomcat最好放在同一个容器中

    tl;博士 在主机操作系统中运行eclipse并在容器中使用JDK/JRE运行是不可行的,因为eclipse依赖于JRE。类似地,您不能让tomcat在一个容器中,而让JRE/JDK在另一个容器中,因为tomcat需要JRE来运行

    解释 我会在主机上安装eclipse、RabbitVCS,其余的安装在容器中。。。。。。。运行该映像应该为他们提供JDK、Tomcat和MySQL服务器

    您是否试图使用运行在docker容器上的JDK(以及运行在主机操作系统上的EclipseIDE)进行主动开发?如果是这样的话,它是不可行的(有争议的是,您可以进行远程调试;但是请记住,调试与主动开发非常不同)。这不是docker的意图。在开发过程中,您的开发人员可能需要在其主机中安装JDK。在您的情况下,从容器中运行的唯一合理的东西是mysql,因为您在那个里并没有任何活动的开发

    编辑:构建一个可移植的开发环境 在docker land中,一种可能的解决方案是,将eclipse+jdk+tomcat放在同一个docker映像中,并将X11套接字装入容器中,以便将容器中运行的eclipse GUI公开给主机操作系统

    更多信息请阅读:


    或者干脆放弃Docker,转到全面的虚拟机,比如,您可能可以在其中找到带有eclipse的预构建映像(不确定),或者您可以在基本映像上安装所有必需的包后构建一个映像,并与开发人员共享。

    是的,这是可行的。您可以帮助我了解一些详细信息吗。我已经安装了jdk和mysql。打开端口3306等。。。您可能应该尝试git而不是RabbitVCSI,建议您参考使用Eclipse调试实时运行的容器。基本上具有您需要的模式。可以通过转发一些用于调试的端口(例如)将Eclipse与Tomcat连接起来。在不同的容器中使用java有很多好处。例如,您可以使用多个容器和多个“隔离”JDK版本来测试您的应用程序。另外,在不同的开发环境(windows/mac/linux)上设置整个套装更容易、更快,而且不会有太多麻烦。。调试与主动开发非常不同。首先,eclipse需要一个JRE来运行(无论您在哪里运行eclipse,而不是在任何其他容器上)。其次,eclipse附带了一个编译器,您不必安装JDK(同样,这是有争议的)。您是否尝试过在上述设置中开发自己?我建议在这里和这里多读一些(不是那么真实,但仍然是)@那么随意的家伙。好的,我正在找出最好的方法来改善我们的开发环境。目前我正在尝试Adi的建议。这是最好的办法。我正在尝试构建一个可移植的开发环境。你的建议是什么。“编辑:jdk和tomcat放在同一个容器中会更好”--你还建议tomcat如何运行?@所以random dude我想他是想使用tomcat容器的jdk,而不是单独为jdk使用另一个容器。