使用电报机器人在 Heroku 上的 docker 中安装 Rclone [帮助]

Posted

技术标签:

【中文标题】使用电报机器人在 Heroku 上的 docker 中安装 Rclone [帮助]【英文标题】:Rclone installation in docker on heroku with telegram bot [Help] 【发布时间】:2020-05-07 19:27:51 【问题描述】:

我想在 heroku 中的 docker 映像上安装 rclone,以便能够将 Rclone 与 python 电报机器人一起使用 我做了一个heroku.yml文件

build:
  docker:
    worker: Dockerfile
run:
  worker: bash start.sh

和 start.sh 一样

python3 -m bot

和 Dockerfile 一样

FROM ubuntu:18.04

WORKDIR /usr/src/app
RUN docker pull rclone/rclone:latest
RUN docker run rclone/rclone:latest version
RUN chmod 777 /usr/src/app
RUN apt -qq update
RUN apt -qq install -y python3 python3-pip locales
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
COPY . .
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

CMD ["bash","start.sh"]

我在 git bash CLI 中收到错误 The command '/bin/sh -c docker pull rclone/rclone:latest' returned a non-zero code: 127

我做错了什么?或者程序是什么? 提前致谢!

【问题讨论】:

您通常不能在 Docker 空间内运行docker 命令,尤其是不能从 Dockerfile 内运行。这两条线想要完成什么? 我正在尝试安装 rclone,以便我可以在电报机器人 PS 的帮助下执行 shell 命令 - 我尝试了 RUN apt install rclone --classic 并且它成功了!但是我在一个名为 bot 的文件夹中有 2 个文件,它们没有被推送到 heroku,因此 heroku 应用程序崩溃了。谢谢! 【参考方案1】:
FROM ubuntu:16.04

WORKDIR /app
# line number 12 - 15 in your Dockerfile
RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment
RUN echo "LANG=en_US.UTF-8" >> /etc/environment
RUN more "/etc/environment"

RUN apt-get update
#RUN apt-get upgrade -y
#RUN apt-get dist-upgrade -y
RUN apt-get install curl htop git zip nano ncdu build-essential chrpath libssl-dev libxft-dev pkg-config glib2.0-dev libexpat1-dev gobject-introspection python-gi-dev apt-transport-https libgirepository1.0-dev libtiff5-dev libjpeg-turbo8-dev libgsf-1-dev fail2ban nginx -y

# Install Rclone
RUN curl -sL https://rclone.org/install.sh | bash
RUN rclone version

# Cleanup
RUN apt-get update && apt-get upgrade -y && apt-get autoremove -y
基于this answer

你可以试试这个,也不要尝试在 Dockerfile 中使用 docker 命令。

【讨论】:

我工作并使用了 rclone 二进制文件 你的意思是,Heoku Rclone shell Bot?我也有这个问题,我尝试使用二进制它对我不起作用,所以我使用了这种方法......

以上是关于使用电报机器人在 Heroku 上的 docker 中安装 Rclone [帮助]的主要内容,如果未能解决你的问题,请参考以下文章

Telegram Bot(ngrok) 部署到heroku

Heroku Dyno 免费时间

c#中的电报机器人动态键盘在一行上的每个按钮

带有网络表单的电报聊天机器人。可能吗?

Dockerized React App 无法绑定到 Heroku 上的 $PORT

heroku php增加max_execution_time