小编rga*_*eth的帖子

检查docker hub上是否已存在image:tag组合

作为bash脚本的一部分,我想检查docker hub上是否存在特别的docker image:tag组合.此外,它将是一个私人存储库.

即伪代码如下:

tag = something
if image:tag already exists on docker hub:
    Do nothing
else
    Build and push docker image with that tag
Run Code Online (Sandbox Code Playgroud)

bash docker dockerhub

30
推荐指数
5
解决办法
2万
查看次数

在node.js中导入sql文件并对PostgreSQL执行

我正在寻找一种有效的方法来获取一个原始的sql文件并让它与postgres数据库同步执行,类似于你运行它psql.

我有一个sql文件,它创建所有数据库,导入数据等.我需要使用node.js执行此操作,但找不到任何自动执行此操作的模块.对于node.js应用程序本身,我们使用node-postgres('pg'),knex.js和bookshelf.js.我认为虽然pg最适合这个.

我能想到的一个替代方案是读取整个文件,用分号分隔,用空格替换换行符,修剪任何重复的空格,然后以顺序执行的方式将其反馈到pg中,而不是异步执行.如果这是真正最有效的方式,并且如果还没有解决此问题的库存在,我会感到有些惊讶.我有点犹豫不决,因为SQL语法本身有点挑战,我可能会不小心把它混为一谈.

事先澄清一些:

  • psql 不能使用,因为它没有安装在目标机器上
  • 我选择以sql本机形式开发和源代码控制sql语句,因为DBA使用和操作它更容易

javascript sql postgresql node.js node-postgres

18
推荐指数
2
解决办法
2万
查看次数

Docker和node_modules - 将它们放在一个层或一个卷中?

我正在计划一个docker dev环境,并怀疑是否npm install作为缓存层运行是一个好主意.

我知道有一些方法可以优化dockerfiles以避免重建node_modules,除非package.json发生更改,但是我不希望node_modules每次package.json更改时都完全重建.npm install对我们来说,新鲜的需要花费5分钟,而且变化package.json相当频繁.对于经常审查拉取请求和切换分支的人来说,他们每天可能需要经历5分钟的真气量npm installs.

在像我这样的情况下以某种方式安装node_modules到卷中以使其在构建中持续存在并且小的更改package.json不会导致整个依赖树被重建会不会更好?

node.js node-modules docker

13
推荐指数
1
解决办法
4673
查看次数

使用Docker的12factor配置方法

是否有使用环境变量来控制Docker行为的原生或常用方法,即以12种方式?

我见过的唯一与语言无关的方法是使用-e变量污染docker run命令.我见过的最易维护的解决方案是使用cat和sed的组合来使用.env文件生成CLI参数:https://twitter.com/DataKyle/status/422843345120296960

我们目前使用Vagrant for dev,一个用于测试和部署的CI/CD托管提供程序,以及AWS Elastic Beanstalk作为登台和生产PAAS.我们的应用程序有超过100个可配置参数,其中大多数都设置为默认值,但每个环境仍需要自定义大约10-20个.使用像这样的大量命令行变量来运行docker似乎太麻烦了.

此外,它不允许您从docker主机(例如CI提供程序预先安装的Redis或Postgres凭据)中获取变量,而无需进一步破解.

我有没有找到解决方案?或者这是Docker的缺失部分?或者这是否在某种程度上哲学上反对Docker哲学?

environment-variables 12factor docker

8
推荐指数
1
解决办法
1307
查看次数

如何为nginx位置指令配置.ebextensions?

我想在Elastic Beanstalk中配置我的暂存环境,以便始终禁止所有蜘蛛.nginx指令看起来像这样:

location /robots.txt {
    return 200 "User-agent: *\nDisallow: /";
}
Run Code Online (Sandbox Code Playgroud)

我知道我想在.ebextensions /文件夹下创建一个文件,例如01_nginx.config,但我不知道如何在其中构建YAML以便它可以工作.我的目标是将此位置指令添加到现有配置,而不必完全替换现有的任何现有配置文件.

nginx amazon-elastic-beanstalk

6
推荐指数
4
解决办法
1万
查看次数

如果从不为上游做出贡献,git 子树会简化吗?

如果您希望在主项目中包含子项目但从不为上游贡献更改,则存在哪些优化(甚至包括 git subtree 的替代方案)?

实际用例:我将Ghost嵌入到现有的 express.js 网站中,例如嵌入 lib/Ghost。我需要对它进行一些黑客攻击,无论如何他们都不想贡献给上游的类型。对 Ghost 项目的任何正常贡献都将通过 GitHub 上的典型分叉完成,而不是从我的其他项目中完成。

因此,在最初将 Ghost 嵌入到我的项目中后,唯一发生的事情就是偶尔的本地源代码更改,以及有时从上游获取其主分支的更新。

在这种情况下, git subtree 是否仍然是一种合适的方法,如果是,那么是否有任何问题或简化适用,因为这种需要永远不会向上游做出贡献?因此,是否也可以将主 TryGhost/Ghost 存储库作为我的子树上游,而不是先分叉 Ghost 然后将分叉作为项目的上游?

git github git-subtree ghost-blog

6
推荐指数
1
解决办法
368
查看次数

检测/防止隐私浏览导致的 Firefox IndexedDB InvalidStateError

我正在集成一个使用 IndexedDB 的 javascript 库,但是当 Firefox 处于隐私浏览/窗口模式时,它“不礼貌地”失败了。该库返回 500 内部错误,同时 Firefox 向控制台吐出 InvalidStateError。

我想做的是在实例化这个库之前添加一个检查,如果 IndexedDB 不可用,则根本不使用该库。即某种类型的 try/catch 测试。从我所看到的,即使违规代码在 try/catch 中,Firefox 似乎也会吐出控制台错误(但也许还有办法......)。

我实际上并不关心用户是否在私人窗口会话中,但这似乎是 Firefox 导致此 InvalidStateError 的唯一一次。

javascript firefox incognito-mode

5
推荐指数
1
解决办法
1954
查看次数

fail2ban可以在一个单独的docker容器中运行,而不知何故仍然为nginx实现iptables规则?

我想在自己的容器中"容纳"fail2ban,但怀疑它不可能在其他容器中设置iptables规则.例如:要保护nginx安装,需要在nginx容器中设置iptables规则吗?虽然我可以轻松地将必要的日志文件从nginx容器共享到fail2ban容器,但是如果没有一些高度自定义的fail2ban操作,fail2ban将无法将iptables禁止规则应用于nginx容器?

nginx docker fail2ban

5
推荐指数
1
解决办法
1406
查看次数

从Docker容器中执行主机命令

我正在寻找一种方法,使用户能够在主机上执行一组有限的命令,而仅从容器/浏览器访问它。我们的目标是防止主机需要SSH'ing只是运行命令偶尔喜欢make startmake stop等等。这些make命令只是执行一系列的docker-compose命令,并在开发有时需要。

我想到的两种可能方法是:

  • 通过浏览器内部的cloud9终端(我们已经在使用它)。默认情况下,此终端当然只访问容器本身。
  • 通过一个自定义的微型web应用程序(例如node.js / express),其中的按钮映射到命令。如果在主机本身上运行,这将很容易做到,但是我想将所有这样的代码保留在容器中。

security docker

4
推荐指数
2
解决办法
8379
查看次数