Tag: 开发环境

使用docker运行多个项目,每个docker-compose运行

我们正在使用微服务的方法来build立我们的产品。 我们正在使用一些使用docker-compose来运行的项目。 问题是,在开发环境中,如果我们想改变多个项目中的代码并testing开发的代码,我们必须单独运行项目并手动将它们连接起来。 现在我们要创build一个开发工具包来克隆项目,并将它们一起运行并处理链接。 docker-compose可以处理多个docker-compose文件吗? 如果没有,有没有足够的工具来为我们做这件事? 还是有任何build议的方法来实现我们的目标? 编辑:例如,我们有两个项目:PROJECT_A和PROJECT_B。 每个人都有自己的docker-compose.yml,每个人都需要运行postgresql。 我们在PROJECT_A中有docker-compose.yml,像这样: db: image: postgres:9.4 ports: – "5432" project_a: build: . command: python2.7 main.py links: – db 我们在PROJECT_B中有docker-compose.yml,像这样: db: image: postgres:9.4 ports: – "5432" project_b: build: . command: python2.7 main.py links: – db 每个项目都可以单独运行,工作正常。 但是如果我们想要改变PROJECT_A和PROJECT_B之间的API,我们需要运行两个项目并将它们连接在一起来testing我们的代码。 现在我们要编写一个开发工具包项目,可以运行这两个项目,并在需要时连接它们。 什么是最好的方法来做到这一点?

Docker设置

今天我正在阅读Docker的许多内容,甚至试图在我的笔记本电脑上运行Vagrant。 但是我还不清楚为什么,特别是如何把它介绍给我的团队。 只是我没有看到用例。 我知道你可以为Web服务器和数据库创build容器。 所以现在你可以说嗨你们正在使用我创build的custom-tomcat-1.0和custom-mysql-1.4容器。 到目前为止如此清楚。 我遇到的问题是那些“数据容器”。 我仍然可以理解,我将DB-data-1.4与数据库容器的数据文件更新到当前模式,我可以用我的可部署的,这将以某种方式与DB数据图像对应的WEB-app-3.5。 那么Java呢? 如果我将有Java DB,我将需要在所有使用它的容器上安装JVM? 到目前为止是否有任何意义? 现在几件事情我没有看清楚。 开发人员将如何与本地工作呢? 他会创build一些WEB应用程序图像快照并启动它? 或者以某种方式将跳过使用WEB应用程序图像,并以某种方式直接将构build文件提供给服务器映像? jenkins,我想它会从git下载代码。 build立它并创build一些WEB应用程序图像快照。 开始一切。 现在我可以运行一些集成testing,以某种方式从外部使用应用程序,但是如何? 基本上有两个问题:你如何在Docker上进行本地开发,以及如何执行集成testing。 我需要真实的用例,所以我可以看到它的大局。 我们正在使用maven,java,spring,sql db,jenkins,junit。

在Docker容器中播放框架自动加载

我正在尝试build立一个在Docker容器中开发游戏应用程序的开发环境。 我已经创build了一个安装sbt的图像。 然后,将主机上的项目文件夹映射到容器,并以交互模式运行shell: docker run -v /Users/jorgen/dev/play-sbt-docker/app:/data/app -w /data/app -p 9999:9000 -i -t jorgenfb/sbt /bin/bash 然后我通过运行sbt ~run启动应用程序。 播放服务器启动只是发现,它甚至重新编译时,我在主机上编辑我的文件: [info] Compiling 1 Scala source to /data/app/target/scala-2.10/classes… [success] Compiled in 2s 问题是刷新时浏览器中没有显示更改。 没有caching问题,因为我禁用了caching。 如果我从我的主机运行应用程序,一切工作正常。 编辑:这是我的Dockerfile用于创build容器与sbt: FROM dockerfile/java:oracle-java8 MAINTAINER Jørgen Borgesen ENV SBT_VERSION 0.13.5 # Install sbt RUN cd /tmp && \ wget https://dl.bintray.com/sbt/native-packages/sbt/$SBT_VERSION/sbt-$SBT_VERSION.zip && \ unzip sbt-$SBT_VERSION.zip […]

Docker-compose设置中已编译组件的Docker开发工作stream程

我正在使用docker-compose编排一个“系统”中的服务。 该服务是用编译语言编写的,我需要在更改时重新编译。 我试图find快速迭代更改的最佳方法。 我已经尝试了2个'工作stream程',都依靠通过volume:链接到源目录volume:获取最新的来源。 一个。 用docker组装起来所有的支撑容器, docker-compose up -d 停止正在开发的服务的容器 使用镜像docker-compose run –name SERVICE –rm SERVICE /bin/bash运行一个新的容器docker-compose run –name SERVICE –rm SERVICE /bin/bash 在该容器中运行编译并在暴露的端口上运行应用程序。 重新开始,停止正在运行的过程,然后重build。 B. (需要Dockerfile CMD来构build然后运行该服务) 停止服务: docker-compose kill SERVICE 重新启动服务docker-compose up -d –no-deps SERVICE 问题是重新启动 vs重启本地服务(独立于docker运行在我的笔记本电脑上) 需要很长时间 。 这种设置似乎可以解释的语言,可以热重新加载更改的文件,但我还没有find一个适合编译语言服务的快速系统。

使用Docker从命令行构build一个Android项目

我inheritance了我公司的Android Java代码,没有Gradle文件等,我希望能够在我的开发服务器(我从ChromeOS机器编程,因此CLI SSH服务器连接到我开发的服务器上进行编译东东)。 现在我发现了一些Docker镜像,像https://hub.docker.com/r/ksoichiro/android/ (甚至没有工作的命令行示例),但是我还没有设法创build一个APK。 我错过了什么,你会怎么做?

适用于非Web应用程序的Docker + IDE的Python工作stream程

我目前正在尝试将Docker插入到非Web应用程序的Python开发工作stream程中。 使用Docker和IDE进行Python开发的最佳实践是什么? 我需要用Docker隔离我的环境并debugging我的代码。 在网上我发现了许多关于使用Docker来部署代码的文章: 生产部署:如何构buildDocker镜像,随时打包已经打包好的应用程序 反映生产的开发环境:上面的扩展,在开发过程中,在部署到生产之前,您可以使用容器来完整地QA项目的当前状态 除了有关如何在开发Web应用程序时将共享卷容器映射到主机上的目录的一些提示之外,我对实际的开发工作stream程还是有所了解。 这种方法不适用于非web应用程序,它有一些简单的重新加载(与类似LiveReload的机制)是不够的,所以你需要重新启动你的容器。 我能find的最接近的写法是这个“八Docker发展模式”的博客文章,但它不考虑一个IDE(就像我现在使用的PyCharm)。 也许这个问题是configurationPyCharm使用在Docker容器中运行的远程Python解释器所花费的3-4小时(和计数)的结果。 我期望两者之间有更好的整合。

Dockerfile生产/构build/debugging/testing环境

想象一下,你有你的Web应用程序和一些工作stream执行者: http-server(服务预构build资产文件) – 生产 生成器(从源代码编译/绑定js / css / html) – 部署/开发 debugging器/构build器(从源头上构build,添加js源地图) – 开发 selenium(运行testing) – 集成testing 我们如何构build分层的图像来让这些工作stream执行者最有效地工作? 我的意思是“跑得最快,写得最less”。