Tag: 开发环境

Docker中的开发环境

由于硬件问题,我不得不把我的工作站换到另一台Mac几个星期。 我花了几个小时来设置一切:Android Studio,Git,Apache,MySql等… 我可以使用docker镜像捆绑所有的开发工具吗? (我的目标是有一个“备份”我的开发环境,我可以马上开始在另一台机器上运行)

如何在开发过程中模仿“反向代理或负载平衡器设置背后的Docker容器”

在Docker容器内部开发和testing应用程序,并最终以相同的方式在生产环境中运行它们,是减lessused to work on my machine but is magically failing in production一个很好的方法, used to work on my machine but is magically failing in production风险方面used to work on my machine but is magically failing in production 。 这也体现在因子no。 我所试图遵循的10个着名的因素宣言中的任何一个对于给定的用例都是有意义的: Keep development, staging, and production as similar as possible. 在我们的生产服务器上,我们有一个反向代理,在端口80上接收传入请求,并根据通过虚拟域访问主机时使用的Host头将它们转发到正确的容器 – 例如对app1.domain.name请求转到app1容器,而对app2.domain.name请求转到app2容器等。我们使用traefik ,但它也可以是jwilder / nginx-proxy或任何其他反向代理或负载平衡器。 没有其他的容器端口公开地暴露给应用程序容器。 我现在的问题是,在开发过程中模拟这个设置的最有效的方法是什么? […]

如何在本地环境中编排多个微服务?

在说话的时候,我有一堆服务在自己的容器上运行每个代码每个代码库都有它自己的Docker文件和docker compose文件,以便在我的本地开发机器上启动服务 一切都很好,我可以访问每个服务 http:// localhost:[服务映射/暴露端口] 问题在于服务正在增加,我认为在本地专用networking中拥有一切可能是一个更好的主意,每个服务的容器都有自己的IP地址。 这是在本地编排容器的更好方法吗? 我应该从哪里开始下定决心?

编辑Docker内容

我正在看Docker分享和包含应用程序,在阅读了关于这个主题的几篇文章后,我无法弄清楚在实际开发中使用Docker容器的步骤。 这可以接受吗? 我的思考过程是这样的 创buildDockerFile 共享DockerFile 用户A和B下载DockerFile 用户A和B安装图像 用户A和B可以对其本地容器进行更改 用户A和B提交更改 我一直在阅读不同的文章的方式Docker只是分享应用程序,但不是为了持续发展,我正在思考的方式,最接近的我可以想到的是我在上面解释的是在容器外进行更改并提交到外部的回购容器,然后容器将更新本地回购,并在内部重新运行应用程序,但你永远不会开发容器本身。

使用Docker从stream浪转移到stream浪

我目前使用Vagrant的本地开发设置来pipe理我的虚拟机的每个平台。 所以我有一个vm / vagrantfile wordpress,laravel,静态网站等我使用scotchbox,但与主机上的多个虚拟主机设置与Apache,同步到我的本地文件。 这很有效,但显然性能不是很好,特别是每个虚拟机上有这么多的项目。 我也玩过每个项目只使用一个虚拟机,但我想要更好的东西。 我已经读了一些关于docker工人的文章,并且用​​docker工人和stream浪汉一起,想要走这条路。 问题是我不断遇到问题,并尝试了几种不同的方法。 我碰巧得到一个安装去我在哪里使用一个主机VM来附加docker,然后旋转一个Nginx的容器..最初我有一些端口转发问题,但解决了。 我的问题是,你们中的一些人怎么去设置这个呢? 你的Vagrantfile对主机和项目来说是什么样的? 你正在加载什么其他脚本? 你如何处理多个项目,文件共享和主机名? 我已经阅读了很多不同的问题/答案和演练,没有一个具体说明我所要求的内容,所以关于这个主题的任何讨论都非常感谢!

Docker应用程序部署DEV与testing

我真的很难掌握Docker的工作stream程。 问题是:交付成果到底在哪里? 人们会期望开发者的图像与用于testing,生产的图像相同。 但是,如何开发自动重新加载等(可能由一些共享卷),而不是一次又一次地build立图像? testing人员的图像应该只是火,你已经准备好了。 图像是如何分裂的? 我听说了关于数据容器的一些东西,它可能包含应用程序的交付物。 那么这是否意味着我将有一个用于数据库的容器,一个用于应用程序。 服务器和一个版本的图像我的代码本身?

Vagrant和/或Docker工作stream程与完整的OS X文件系统集成,实现无缝的本地感受?

最近我一直在跟vagrant和docker 。 这些都是非常有趣的工具,但我还没有能够说服自己,这是我的OS X机器上的方式。 作为一个旧的Unix的帽子,我不得不说,我喜欢有一个整合和沙箱环境的发展目的。 我已经看到了很多的喋喋不休,许多朋友一直在用vim编辑vagrant 。 我并不是那种方法的粉丝,可能更愿意使用虚拟机供应商的共享机制,更可能的是使用NFS。 就个人而言,我希望能够直接在TextMate,SublimeText,Emacs(在OS X)上进行编辑,甚至可以使用RubyMine及其各种IDEfunction等。 有没有什么办法可以真正让工作stream下来,这样的环境基本上就像在本地环境中工作,而不必拉大量的额外的背景string,使事情工作? 我认为几个摆放得很好的脚本可能会有很长的路要走,但是我还没有find任何可靠的答案来真正实现这个无缝的环境。

Kubernetes的发展环境

美好的一天 我们有一个由6个虚拟机组成的开发环境。 目前我们正在使用VirtualBox的Vagrant和Ansible。 正如你可以想象的,托pipe这个环境是一个维护的噩梦,特别是随着软件/操作系统版本的变化。 不要提到开发者机器的资源负载。 我们已经开始将一些虚拟机迁移到docker。 但是这本身带来了编排,正确configuration,沟通等方面的问题。这使我成为了Kubernetes。 难道有人会提供一些推理,说明Kubernetes是否会成为这项工作的正确工具? 这是pipe理和编排“开发”docker集装箱。 谢谢

如何快速切换Docker环境进行开发?

我有多个项目,我需要定期切换。 这些项目是通过docker-compose设置的,但有些需要外部容器可用。 所以为了在项目中运行docker-compose up -d ,我必须先切换到不同的目录,并在那里启动一些基本的服务容器(共享mysql,redis等实例)。 我不想并行运行所有容器,对于某些人来说,这是不可能的,因为他们在同一个端口上收听。 我也发现某些容器需要一个脚本才能在其中运行,以便在开发中正确运行,而且我发现自己为了切换到一个项目而重复执行相同的命令。 我认为这可以是自动的,我只是不确定如何解决这个问题。 我如何能够快速切换docker环境? 我的目标是只有一个class轮。

Docker作为有效的Rails开发环境

[ 更新 ] 不幸的是,亲爱的同事,我现在放弃了docker工人。 主要因素: 共享音量性能差(有一些解决方法使用额外的工具,但似乎更多的是黑客)。 不过对于那些使用Linux的好人来说这不是问题! 我低估了一些前期工作,这是使远程运行时与编辑器/ IDE很好地配合所必需的。 像linting这样的东西假定一个本地的运行时框,似乎最广泛的解决scheme是无数的bash包装脚本委托执行到docker集装箱。 另外,我们聘请了两位DevOps开发人员,他们有相当多的Docker经验,如果他们能够提出,如何(无痛地)在我们公司中引入Docker来进行托pipe和开发,我很乐意修改这个主题。 [ 旧post ] 作为使用本机OSXpipe理程序的新版本,现在已经可以使用了,我决定尝试将所有的Ruby / Rails / JS开发推向Docker容器。 我在一个新鲜的El Capitan安装上玩了很多,试图将我们拥有的一些私有gem和我们的monolith Rails应用程序停泊在一起。 有几个问题,我希望我们的社区可以帮助解决。 目标 – 一切正常 ,主机只安装了iTerm,git,Sublime,SourceTree和Docker(没有任何东西是刻着石头的,如果一些额外的依赖(-ies)可以改善/使工作stream程更容易,我将很乐意审查选项) 要求 有相当多的服务(EngineYard,ElastiBeanstalk,Github等),需要我的密钥才能正常工作,我应该能够重用我的主机上的那些。 在所有Ruby应用程序容器中重用已安装的RubyGems将会很不错。 基本上,docker container / docker-compose文件的安装方式与安装GEM_PATH的相同目录相同,每个容器中的bundler在其中安装gem。 应用程序bundler应该负责加载正确的版本。 我应该能够轻松地debugging代码 – 将断点与debugging器交互,因为它将在本地运行 它应该支持TDD循环 – 我改变文件,它被容器中的guard进程所捕获,并执行相关的testing 当执行Cucumber / Seleniumtesting时,我应该能够看到浏览器中发生了什么。 (据我所知,选项是 – 通过VNC连接到虚拟帧缓冲区或本地运行X服务器,我更喜欢在主机端依赖较less的选项)。 问题 Docker化现有的应用程序是相对容易的,你怎么样,好人,处理创build/引导新项目? 常见的依赖关系的开发容器? 是否可以像容器一样设置容器“保持运行”的方式呢? (这可能会解决我的许多需求 – 跑步guard ,更容易debugging,在同一运行中启动任意进程) […]