首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nexus3 docker不同环境的不同存储库,例如开发、生产

Nexus3 docker不同环境的不同存储库,例如开发、生产
EN

Stack Overflow用户
提问于 2018-04-29 07:10:47
回答 1查看 82关注 0票数 0

先生,

我想问一个问题,如果我想为不同的环境设置多个单独的存储库,例如为不同的存储库设置dev、prod,以避免在prod版本中使用不稳定的映像。这是否意味着我必须为不同的repos使用不同的端口?

例如:

开发人员托管:8083开发人员组:8082

珠江三角洲托管:8183珠三角托管:8182

如果是这样,如果我们想创建许多许多,这是否意味着我们必须使用许多端口?

EN

回答 1

Stack Overflow用户

发布于 2018-04-29 10:32:11

源工作流程通常因公司之间的不同而不同,但通常我建议使用single repo per servicemaster方法,这样您就可以轻松地将特性从feature分支合并到feature分支(例如: prod)分支,这些分支可能是每个环境专用的。

关于静态配置,我建议创建一个通用的、非特定于环境的容器镜像,它在启动和运行时从环境变量中提取所有特定于环境的配置。

在端口映射上,在容器中,你应该总是使用相同的端口(例如:使用8283构建你的镜像),并且只有当你在合成过程中expose它到主机时才改变这些端口。

在构建docker映像时,您可以使用labels设置哪个映像是这些映像的devprod修订版,因此您可以使用imagename:label更轻松地针对这些映像

这样,您可以通过创建以下文件,为每个环境指定多个docker组合:

docker-compose.**dev**.yml

代码语言:javascript
运行
复制
version: '3'
services:
  web:
    image: "webapp:dev"
    ports:
     - "8082:82"
     - "8083:83"
    environment:
     - DEBUG=true
     - ENVIRONMENT_NAME=dev

docker-compose.**prod**.yml

代码语言:javascript
运行
复制
version: '3'
services:
  web:
    image: "webapp:prod"
    ports:
     - "8182:82"
     - "8183:83"
    environment:
     - DEBUG=false
     - ENVIRONMENT_NAME=prod

使用此配置,您可以通过运行docker-compose基于相同或相似的图像创建服务组合

代码语言:javascript
运行
复制
# To start a DEV service composition
docker-compose up -f ./docker-compose.dev.yml 

# To start a DEV service composition
docker-compose up -f ./docker-compose.prod.yml 

查看有关这些内容的更多信息:

https://docs.docker.com/compose/reference/overview/

  • github-flow分支策略
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50081882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档