小编Kir*_*MES的帖子

如何在 MariaDB 容器中运行 cron?

我想在 MariaDB 容器中包含一个基于最新映像的 cron 任务mariadb,但我坚持这样做。

我尝试了很多方法但没有成功,因为我无法同时启动 MariaDB 和 Cron。

这是我实际的 dockerfile:

FROM mariadb:10.3

# DB settings
ENV MYSQL_DATABASE=beurre \
    MYSQL_ROOT_PASSWORD=beurette

COPY ./data /docker-entrypoint-initdb.d
COPY ./keys/keys.enc home/mdb/
COPY ./config/encryption.cnf /etc/mysql/conf.d/encryption.cnf

# Installations
RUN apt-get update && apt-get -y install python cron

# Cron
RUN touch /etc/cron.d/bp-cron
RUN printf '* * * * * root echo "Hello world" >> /var/log/cron.log 2>&1\n#' >> /etc/cron.d/bp-cron
RUN touch /var/log/cron.log
RUN chmod 0644 /etc/cron.d/bp-cron

RUN cron
Run Code Online (Sandbox Code Playgroud)

通过其设置,数据库可以正确启动,但“Cron”未初始化。为了使其工作,我必须进入容器并执行“Cron”命令,一切都运行良好。

因此,我正在寻找一种从 docker-compose 中使用的 Dockerfile 启动 db 和 …

docker dockerfile docker-compose

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

如何减小 Puppeteer 的大小

我使用 Puppeteer 进行网页抓取,并使用我制作的一个小型 NodeJs Web 应用程序。这个网络应用程序托管在 Heroku 上并且可以jontewks/puppeteer-heroku-buildpack正常工作。

我面临的问题是,由于 Heroku 大小限制,我的应用程序不再构建:

Compiled slug size: 537.4M is too large (max is 500M).
Run Code Online (Sandbox Code Playgroud)

我尝试过几件事:

  • 使用 Firefox 代替 Chromium
  • 通过删除文件来减小 Chromium 的大小interactive_ui_tests.exe
    • 我无法执行此操作,因为 Heroku 使用 Linux 而不是 Windows,并且 Linux Chromium 发行版中不存在此文件
  • 使用headless_shell而不是 Chromium
    • 我坚持这个(就像这里),因为我不明白如何让它发挥作用。我找到了要在此处使用的文件,但我面临着与 07/09/2018 的评论相同的问题
  • 使用剧作家而不是木偶师
    • 这可能是一个解决方案,但我正在使用诸如puppeteer-extra和 之类的东西puppeteer-extra-plugin-stealth,所以改变它很麻烦
  • 通过删除文件夹来减小 Chromium 的大小locales
    • 有一点帮助,但不多
  • 使用旧版本的 Puppeteer ( 2.1.1),它使用旧版本的 Chromium,稍微轻一些
    • 目前,这是我唯一有效的解决方案
  • 使用命令heroku repo:gc -a …

heroku chromium node.js node-modules puppeteer

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