Tag: git

Docker项目结构与git submodules

当我看到使用Docker的git项目时,docker只是添加到包含源代码一个应用程序的git项目中。 但是,如果我想用docker-compose来编排我的git-projects的多个工作项目呢,因为他们一起工作(后端,前端,…)呢? 现在,我使用其他两个git项目的源代码和一些更自我创build的Dockerfiles – 所以我的撰写文件现在有7个服务(也有一些来自docker hub的公共项目)。 我还需要为不同的用例创build略有不同的.yml文件(只是使用不同的环境variables)。 有没有最好的做法,如何构build这样一个项目? 我的项目是这样的: my-project/ |__ env/ | |__ service-1/ | | |__ default.env | | |__ usecase-1.env | |__ service-2/ | |__ default.env | |__ usecase-1.env |__ override/ | |__ usecase-1.yml |__ src/ | |__ service-1/ | | |__ service-1/ (git submodule) | | |__ Dockerfile | |__ service-2/ […]

项目布局与stream浪者,docker和混帐

所以我最近发现了docker和vagrant,我开始了一个新的Php项目,在这个项目中我要使用两个: stream浪为了有一个可交换的环境,所有的开发人员可以使用。 docker为生产,而且在stream浪机内部,因此开发环境与生产环境尽可能接近。 第一种方法是将所有定义文件与源代码放在同一个存储库中,并使用此布局: /docker /machine1-web_server /Dockerfile /machine2-db_server /Dockerfile /machineX /Dockerfile /src /app /public /vendors /vagrant /Vagrantfile 因此,在规定的情况下,stream浪者机器运行所有docker“机器”,并正确设置数据库和源代码。 这是一个好方法吗? 我仍然试图弄清楚这将如何在部署到生产的工作。

使用提交更新docker图像的小改动

我想利用caching/分层docker图像来节省带宽,磁盘空间和时间。 假设: 我有一个Web应用程序泊坞窗图像安装和部署到几个docker主机。 泊坞窗图像包含我的networking应用程序的源代码。 我工作的代码,现在有一个新版本的代码。 我应该如何自动创build一个新的docker提交上面的最后一个图像只包含错误修正? 我的目标是只需要下载一个小的bugfix diff来获取已经下载了以前映像的docker主机的新映像。 这是我目前关于它的反思的状态: 我可能会结束使用docker commit以某种方式保存图像中的更新。 但是,我怎样才能访问图像内容? 即使如此,我将如何导入我的更改,而不会混淆与原来的泊坞窗图像与各种工具(git和shell脚本)无关的服务的web应用程序? 我已经看过卷来与另一个docker分享这个代码,这个Docker会负责更新它。 但卷不承诺。 感谢任何有关如何实现这一目标的见解! 编辑:使用多个Dockerfile似乎另一种方式来做到这一点,thj http://jpetazzo.github.io/2013/12/01/docker-python-pip-requirements/类似的问题。 看来我需要在运行中生成我的dockerfiles。

如何创build重复资源和工作的汇合循环?

现在我有一个中继pipe道脚本,可以从一个git仓库更新dockerhub图像。 我基于下面的教程创build了这个。 我在这个git repo中有几个docker容器,我希望能够遍历它们来为每个不同的容器重复docker-image资源和image-update作业,使我的脚本更清晰,更具可读性。 这是我目前的脚本: — resources: – name: resource-docker type: git source: uri: https://github.com/$MYUSER/$MYREPO.git branch: master # docker-image resources – name: first-container type: docker-image source: repository: $MYUSER/first-container – name: second-container type: docker-image source: repository: $MYUSER/second-container jobs: # image-update jobs – name: first-container-image-update public: true serial: true plan: – get: resource-docker – put: first-container params: […]

在Laravel 5应用程序中,特定于环境的值应该保存在哪里?

我试图围绕在Laravel 5中进行configuration的.env方式来进行包装。 这里是我的故事:我将现有的Laravel 4应用程序转换为Laravel 5.我目前有不同的环境( local和production )和级联configuration系统很好地工作。 我有我的环境特定的应用程序configuration在app/config下的单独的文件夹中。 我的应用程序目前在Docker容器中部署(和开发)。 为了构build部署,我使用Dockerfile来构build我的应用程序映像(基于我的master分支),然后将其推送到存储库并拉到生产服务器上。 所以现在我试图将我的configuration转换为Laravel 5,我有点困惑。 我读过的所有东西都说你将.env文件添加到.gitignore文件,所以它不包含在你的版本库中。 我明白这一点的安全原因 – 不要提交敏感的API密钥/密码/无论你的存储库。 但我不知道如何确保我的生产.env文件包含在我的构build步骤,如果它不是存储库的一部分。 我的想法是把我的生产.env文件放在我的文件系统之外的某个地方,然后在需要的时候复制它。 这是pipe理这个“最佳做法”吗? 这是别人怎么做的? 谢谢!

用微服务,Docker,Jenkins和GIT创build适当的构build或部署链

我们目前正在开始从庞大应用程序迁移到微服务。 目前正在与微服务,Docker,Jenkins和GIT一起创build适当的构build或部署链 以下是我们正在考虑的初始阶段的简单stream程。 我希望应该有更好的工具和stream程来透明地分stream这些阶段。 请build议使用最佳实践和工具来改善此stream程。 开发人员所做的更改将合并到Git存储库。 jenkins启动构build并创build标记为构build版本的docker图像 Jenkins部署Docker镜像并运行集成testing jenkins注册泊坞窗图像 QA执行手动testing。 他们使用脚本,根据提供的版本下载这些图像,并通过覆盖dockerfile中提到的属性来设置testing环境。 我们将会为UAT提供类似的脚本

如何将修改后的configuration文件包含在Docker镜像中?

我是Docker的新手。 devop同事在github仓库中创build了一个WSO2 docker镜像。 他使用这样的图像来创build舞台和生产实例。 docker-compose.yml是: #openssl req -newkey rsa:2048 -nodes -keyout domain.key -x509 -days 365 -out domain.crt version: '2' services: mysql: image: mysql:5.7.10 ports: – "3306:3306" volumes: – ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d environment: – MYSQL_DATABASE=userdb – MYSQL_USER=dbwso2am – MYSQL_PASSWORD=dbwso2am – MYSQL_ROOT_PASSWORD=dbwso2am wso2am: image: salte/wso2am:1.9.1 depends_on: – mysql volumes: – ./keys:/keys environment: – VIRTUAL_HOST=apimanager.qa.xxx.build – VIRTUAL_PORT=9443 – VIRTUAL_PROTO=https – […]

如何使用Jenkins在HTTP_PROXY后面创buildDockerfile?

构buildDocker镜像可以在桌面上正常工作。 安装Node.js NPM依赖性照常工作。 但是,如果使用托pipe在公司代理之后的持续集成服务器(如Jenkins),那么构buildDocker镜像将失败。 Node.js NPM依赖关系 在构buildNode.js pacakges时,如果在克隆GIT依赖项时无法连接到GIT,则命令npm install会失败。 e1ce5e8407d1: Already exists Status: Image is up to date for node:0.10.33 —> e1ce5e8407d1 Step 1 : RUN mkdir -p /usr/src/app —> Using cache —> 965cad0c68b0 Step 2 : WORKDIR /usr/src/app —> Using cache —> 4c498f0c07e9 Step 3 : COPY package.json /usr/src/app/ —> b0662a8275fb Removing intermediate container […]

Github回购与多个Python包

我创build了一个Github仓库,其中保存了我的项目的所有代码。 结构是: myproject \ – package api – package database – package feature api包负责与itunes api等外部apis进行通信。 数据库包负责与我的数据库通信。 最后,function包是我正在构build的实际项目。 每个软件包都有自己的setup.py。 这个结构有三个问题: 我如何添加api和数据库的依赖关系的functionsetup.py? 你会如何build议我在亚马逊部署这个Python代码? 使用docker? 拼盘? 别的东西? 如果我们假设更多function将作为单独的软件包添加到function中。 我怎样才能部署在服务器中的代码的一个子集? 让我们说包API与另一个使用它的function。 让我知道如果我的问题不清楚,我会改进它们。

如何将存储库维护到单个存储库

我有一个每个微服务的存储库(“A”,“B”,..)。 资源库的结构如下所示: A |-dockerfile |-src |-Java |-Groovy 由于所有这些存储库都属于名为“WholeProject”的项目,因此我想维护一个存储库“WholeProject”,其格式如下所示: WholeProject |-docker-compose.yml |-µS |-A |-B |-.. 所以我可以很容易地维护一个docker-compose文件和一个包含所有关于我的项目的相关信息的存储库。 这是一个好主意吗 ? 我该怎么做?