在 Google App Engine's Python runtime for Managed VMS ,我要安装Splinter ( Selenium )Chromedriver。根据 Linux 的文档,我的 dockerfile 中有以下内容:
# Dockerfile extending the generic Python image with application files for a
# single application.
FROM gcr.io/google_appengine/python-compat
RUN apt-get update && apt-get install -y apt-utils zip unzip wget
ADD requirements.txt /app/
RUN pip install -r requirements.txt
RUN cd $HOME/
RUN wget https://chromedriver.googlecode.com/files/chromedriver_linux64_20.0.1133.0.zip
RUN unzip chromedriver_linux64_20.0.1133.0.zip
RUN mkdir -p $HOME/bin
RUN mv chromedriver /bin
ENV PATH "$PATH:$HOME/bin"
ADD . /app
WebDriverException: Message: 'chromedriver' executable needs to be
available in the path. Please look at
http://docs.seleniumhq.org/download/#thirdPartyDrivers
and read up at
http://code.google.com/p/selenium/wiki/ChromeDriver
docker exec -it <container id> chromedriver
,正如预期的那样,它不起作用。➜ ~ docker exec -it f4d9541c4ba6 python
Python 2.7.3 (default, Mar 13 2014, 11:03:55)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ
{'GAE_MODULE_NAME': 'parsers', 'API_HOST': '10.0.2.2', 'GAE_SERVER_PORT': '8082', 'MODULE_YAML_PATH': 'parsers.yaml', 'HOSTNAME': 'f4d9541c4ba6', 'SERVER_SOFTWARE': 'Development/2.0', 'GAE_MODULE_INSTANCE': '0', 'DEBIAN_FRONTEND': 'noninteractive', 'GAE_MINOR_VERSION': '580029170989395749', 'API_PORT': '59768', 'GAE_PARTITION': 'dev', 'GAE_LONG_APP_ID': 'utix-app', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'GAE_MODULE_VERSION': 'parsers-0-0-1', 'HOME': '/root'}
最佳答案
您需要查看 ENTRYPOINT
和 CMD
与该图像相关联(在您启动的容器上执行 docker inspect
)
如果图像设置为打开一个新的 bash session ,profile
或 .bashrc
与运行该 session 的帐户相关联可能会重新定义 $PATH
,覆盖 Dockerfile ENV PATH "$PATH:$HOME/bin"
指示。
如果是这种情况,请确保 profile
或 .bashrc
定义权利 PATH
修改 COPY
更容易(例如,使用自定义 .bashrc
的 ENV
) .
https://stackoverflow.com/questions/29764154/
相关文章:
java - 如何在 Hadoop 中对自定义可写类型进行排序
apache-spark - Spark的示例在客户端模式下引发FileNotFoundExcept
python - Fedora 22 : ERROR: No module named '_rpmb
hadoop - Spring Cloud Dataflow-http |卡夫卡和卡夫卡| hdfs
nginx - 多个网站在Docker容器中运行,如何实现?
hadoop - Luigi可以运行远程Hadoop作业吗?
hadoop - HDFS的默认 block 大小为128 MB,而Hive的默认 strip 大小