Tag: 码头工人

Cron在Docker上的最佳实践

我已经过渡到使用码头与cron一段时间,但我不知道我的设置是最佳的。 我有一个cron容器,运行大约12个不同的脚本。 我可以编辑脚本的时间表,但为了部署一个运行的软件的新版本(一些运行了大约半天的脚本),我必须创建一个新的容器来运行一些脚本,而其他脚本完成。 我正在考虑为每个脚本运行一个容器(容器将共享图像中的所有内容,但crontab)。 但是,这仍然会使很难将更新协调到共享相同代码的多个容器。 我正在考虑的另一种选择是在主机上运行cron,每个命令都是一个docker run命令。 这样做可以让我通过在crontab使用环境变量来更新下一个运行映像。 有没有人有任何这两种解决方案的经验? 还有其他解决方案可以帮助吗?

NPM下载用于离线安装

我正在寻找一种方法来在线下载一个或多个package-lock.json文件中提到的所有NPM源文件,并且能够将这些文件提供给NPM安装而无需网络连接。 最终目标是在构建过程中允许使用“npm install”的Docker构建文件在没有任何网络连接的情况下运行,这样我们可以验证构建是否可重复,并且不依赖于将来可能会消失的npm包。 这些构建将有助于证明托管目的的完整性。 所以我不能依靠NPM的自动缓存,我可能需要控制这个。 理想情况下,我可以将下载的软件包从OSX提供到Docker,但是如果解决方案只适用于Linux,那也可以。 这样的工具是否存在或者NPM本身提供了这个工具?

将参数传递给docker run命令

我正在运行以下命令启动Jekyll与我的本地签出Jekyll网站: docker run -p 4000:4000 –volume=$PWD:/srv/jekyll \ -it jekyll/jekyll:$JEKYLL_VERSION jekyll serve 这工作得很好。 但是,当我通过它–baseurl参数是这样的: docker run -p 4000:4000 –volume=$PWD:/srv/jekyll \ -it jekyll/jekyll:$JEKYLL_VERSION jekyll serve –baseurl '' 一切都运行良好,直到它到了这一点: > docker run -p 4000:4000 –volume=$PWD:/srv/jekyll -it jekyll/jekyll:$JEKYLL_VERSION jekyll serve –baseurl '' Warning: the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.15.3). […]

SONARQUBE DOCKER集装箱将不会由于Backlite JAR而开始如何去除它?

我安装了一个backelite-sonar-swift-plugin.jar,正因为如此,我的sonarqube码头集装箱不会再启动了。 我不能码头执行,因为容器将无法启动,所以有没有办法删除文件,而无需启动它? 我使用docker-compose.yml来运行我的容器,我已经尝试删除sonarqube容器和图像,但是当我码头 – 组装起来,虽然他们会再次下载sonarqube图像,但是当启动容器时,它的后台 – 声纳 – 迅捷-plugin.jar在那里。 为什么在那里? 它不是因为已经下载了一个新的图像而不想去?

如何使用每个容器的白名单

我在码头模式下使用traefik。 它从docker容器中检索大部分配置(acme.domains,enabled,frontend-rules,…)。 目前所有容器都可以从WWW​​(0.0.0.0)中获得。 我想知道如何限制访问单个容器到一些专用的IP地址。 私人网络服务的码头标签看起来像: labels: – "traefik.enable=true" – "traefik.backend='private container'" – "traefik.whitelistSourceRange=192.168.1.0/24" 在这种情况下,列入白名单的IP当然只是一个例子。 这可能是任何私人IP子网。 也许可以设置一个基于“client.ip”的前端规则? 谢谢你的帮助!