【问题标题】:Docker deploy in Heroku error - Permission deniedDocker 在 Heroku 中部署错误 - 权限被拒绝
【发布时间】:2021-07-03 14:23:03
【问题描述】:

我想使用 Docker 在 Heroku 中部署一个网页。我有两个入口点

ENTRYPOINT ["/app/entrypoint.sh"]
ENTRYPOINT ["/app/yt_bot.py"]

第一个入口点完美运行

但是当它到达第二个入口点时,它会抛出一个错误:Permission denied

这是 yt_bot.py 的代码:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.youtube.com/')

我已经在usr/local/bin 中安装了 Firefox 网络驱动程序。错误是否与此有关?

编辑

这是我的 Dockerfile:

FROM debian:stretch
# Install git, supervisor, VNC, & X11 packages
RUN set -ex; \
    apt-get update; \
    apt -y install python-pip; \
    pip install selenium; \
    apt-get -y install wget; \
    wget https://github.com/mozilla/geckodriver/releases/download/v0.29.1/geckodriver-v0.29.1-linux64.tar.gz; \
    tar xvf geckodriver-v0.29.1-linux64.tar.gz; \
    mv geckodriver usr/local/bin; \
    rm geckodriver-v0.29.1-linux64.tar.gz; \
    export PATH=$PATH:/usr/local/bin/geckodriver; \
    wget https://download1320.mediafire.com/p27lunltbdqg/vu5daioshg687nx/yt_bot.py; \
    apt-get install -y \
      bash \
      fluxbox \
      git \
      net-tools \
      novnc \
      socat \
      supervisor \
      x11vnc \
      xterm \
      xvfb
ENV HOME=/root \
    DEBIAN_FRONTEND=noninteractive \
    LANG=en_US.UTF-8 \
    LANGUAGE=en_US.UTF-8 \
    LC_ALL=C.UTF-8 \
    DISPLAY=:0.0 \
    DISPLAY_WIDTH=1024 \
    DISPLAY_HEIGHT=768 \
    RUN_XTERM=yes \
    RUN_FLUXBOX=yes
COPY . /app
RUN chmod +x /app/conf.d/websockify.sh
ENTRYPOINT ["/app/entrypoint.sh"]
ENTRYPOINT ["/app/yt_bot.py"]

【问题讨论】:

  • 你在 Docker 容器中安装 webdriver 吗?请分享你的 Dockerfile
  • 我现在已经添加了我的 Dockerfile
  • 你可以在app/yt_bot.py 上运行 chmod +x 然后重建镜像吗?我猜 yt_bot.py 中缺少可执行权限
  • 在 yt_bot.py 中运行 Chmod +x 解决了这个问题。谢谢!

标签: python linux docker heroku docker-entrypoint


【解决方案1】:

将以下行添加到您的 Dockerfile 以便以 root 用户身份运行命令。

...
USER root # add this line before entry points
ENTRYPOINT ["/app/entrypoint.sh"]
ENTRYPOINT ["/app/yt_bot.py"]

【讨论】:

    猜你喜欢
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    相关资源
    最近更新 更多