管理Docker堆栈的命令行程序。

hmsdbmitc-stack的Python项目详细描述


#堆栈

####运行Docker服务堆栈的程序

##目的

这是一个为常见任务提供一些方便包装的程序。 使用停靠的微服务堆栈进行开发时。该项目的目标 简化本地堆栈的一些管理,使 运行和测试时在整个堆栈上进行开发。

应用程序取决于在basestack.yml中定义的配置 将要生成的应用程序的文件。

##应用程序属性

  • 存储库:这应该指定应用程序Git存储库的URL。
  • 分支:克隆回购时要签出的特定分支。
  • :此应用程序所依赖的堆栈中列出的任何包

##包属性

  • 名称:从pypi/mirror安装时要使用的包的名称
  • 路径:指向包含包源的目录的路径
  • 构建:更新包时应执行构建命令堆栈

##设置

<P>0。创建python virtualenv并安装需求: pip安装-r requirements.txt

<P>1。第一步是在overrides/{app} 目录。这些文件将用于构建 将在堆栈中运行。通常它们会紧密地镜像文件 该应用程序在其生产环境中使用,但有一些小的调整 在本地运行并与其他本地应用程序交互。这个目录 如果应用程序要运行生成的图像,则必须包含dockerfile

<P>2。下一步是将所有需要的存储库克隆到apps目录中。 堆栈包含一些用于管理子树的方便命令 储存库。通过运行stack init来执行一个命令。 有关存储库管理的详细信息,请参见下文。

<P>3。第三步是确保docker compose.yml文件是完整的 并准确填写以包含应用程序及其配置。 这包括在 容器。这允许文件更改来更新服务 自动,以便可以立即测试更改。验证当前设置 通过运行堆栈检查

<P>4。最后,用任何额外的代码位更新hook脚本 需要运行堆栈。是否需要收取NPM 克隆repo后的依赖关系或需要数据库 在清理应用程序时清除,这是自定义功能的位置 应该是活的。

##堆栈命令

要检查堆栈配置并确保卷路径正确, 存在所需的图像等:

>;堆栈检查[<;app>;]

不传递应用程序将遍历 docker compose.yml文件并检查所有配置。

运行initialize命令将所有需要的存储库克隆到 各分支机构:

>;堆栈初始化

要启动堆栈,请运行以下命令(pass-dto daemonize 过程):

>;叠加[-d]

如果由于某种原因(更新的需求等)需要重建容器, 运行以下命令(app是docker compose.yml中服务的键):

>;堆栈reup<;app>;[–干净]

相反,您可以将shell放入所需的容器并运行需求 更新命令:

>;堆栈shell<;app>;[-sh]

stack默认为尝试打开bash shell,但您可以默认为 如果bash不可用,则返回sh。

您还可以检查容器上的日志,其中包含对 轻松找到相关日志:

>;堆栈日志<;app>;[–minutes=n][–lines=n[-f]

您可以指定在过去几分钟内启动日志检索 或者要得到的行数。您还可以传递-f标志 容器运行时的日志。

这将停止并移除容器,然后重新启动它。清洁的 标记将清除现有的容器映像并在再次运行之前重新生成。

要将堆栈下移,请运行以下命令:

>;叠加

这仅仅是包装了docker compose down–volumes并将堆栈向下 并删除所有剩余的数据卷。

>;堆栈包[包]

此命令将尝试生成包并将其上载到pypi 镜像供堆栈中的应用程序使用。任何已标记的应用 因为依赖于此软件包将触发重新安装 成功注册新生成时自动打包 本地pypi镜像。

##git子树助手命令

堆栈应用程序包含为git子树。命令已添加到堆栈 包装并简化使用这些存储库所需的命令。

克隆之前,请确保应用程序存在于docker compose.yml文件中 并具有所需的配置,即存储库url。电流 docker compose.yml文件演示了如何对当前集合执行此操作 应用程序。

git子树命令将不会在工作中运行挂起的更改 目录。在运行子树命令之前提交所有更改。

要将现有回购复制到应用程序的目录:

>;堆栈克隆<;应用程序>;<;分支>;

这将把repo克隆为apps目录中的子树 (默认值:{project_root}/apps)。如果应用程序已经存在于 应用程序目录,将删除该副本并指定分支 将在其位置克隆。

要将远程更改拉入本地分支,请使用pull命令:

>;堆栈拉取<;app>;<;分支>;[-挤压]

所有提交都被添加到堆栈存储库中,因此挤压 传入的提交保持历史整洁。

为指定的应用程序创建新分支:

>;堆栈签出<;app>;-b<;分支>;

这会将子树拆分为新的指定分支。提交更改 与整个堆栈存储库一样。一旦更新准备好推送, 像往常一样运行push命令:

>;堆栈推送<;应用程序>;<;分支>;[-挤压]

这将收集与特定子树相关的提交并推送 到新分支的原点。–squash命令将折叠那些 提交为一次提交。

要返回基本分支,请像往常一样签出分支:

>;堆栈签出<;应用程序>;<;分支>;

这将完全删除子树,并在 它的位置。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么在ng构建之后使用404?   java Maven原型“quickstart”无法扩展其POM   java Arduino端口卡在满功率状态   java如何确保在参数化构造函数失败时不调用默认构造函数?   java检测Blackberry中的切换失败   java如何将安卓库(作为Angle)链接到Eclipse项目?   java压缩图片,但获取“未知压缩方法”   java无法对应该初始化的模拟实例进行测试   将现有eclipse项目导出到war文件时,java“模块名无效”   java如何防止AppletClassLoader在查找类/其他资源时击中服务器?   java正则表达式根据分隔组的分隔符的数量获取n个组   java在JLayeredPane后面与JPanel交互   Java中的xml Soap请求   webView中的java utf8代码页