私は最近、このイメージを更新しました:
https://hub.docker.com/r/joyzoursky/python-chromedriver/
それは(ピップパッケージとして)chromedriver、クロム、セレンをベースイメージとしてのpython3を使用してインストールを構築します。私は画像サイズが小さいので、自分自身のためにアルプスベースのpython3バージョンを使用しました。
$ cd [your working directory]
$ docker run -it -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:3.6-alpine3.7-selenium sh
/# cd /usr/workspace
あなたがあなた自身のイメージを構築し、またはこれのDockerfilesからの参照を取るためにrequirements.txt
ファイルによって一緒に他のパッケージとセレンをインストールピップ可能性があるので画像は、あなたのケースに合うかどうかを確認してください。
あなたはセレンから離れてより多くのパッケージをインストールピップしたい場合は、この例のように独自のイメージを構築することができが:
まず、作業ディレクトリに、あなたはrequirements.txt
は、パッケージのバージョンを保存するあなたを持っていることインストールしたい:
selenium==3.8.0
requests==2.18.4
urllib3==1.22
... (your list of packages)
は、このような同じディレクトリにDockerfileを作成します。
FROM joyzoursky/python-chromedriver:3.6-alpine3.7
RUN mkdir packages
ADD requirements.txt packages
RUN pip install -r packages/requirements.txt
そして、画像構築:セレンはPythonベースイメージにピップパッケージとしてインストールされているように、これは、セレン公式のものとは異なり
docker build -t yourimage .
を。それは個人(私自身)によってホストされているため、保守を停止するリスクが高くなる可能性があります。
ありがとうHarald - 「Selenium import webdriverから」ImportError:「selenium」という名前のモジュールがないため、この画像は困惑しています - これは私が扱っているものが私の不慣れなものだと確信していますが、このPythonパッケージがインストールされることを期待しています。ドッカーファイルでこのインストールを処理する必要がありますか? – goose
それは私にもちょっと困惑します。私は、pythonがそのイメージに、副作用としてではなく、主なポイントとしてインストールされていると推測しています。例えば、Javaのバインディングをインストールすることができます。私はPythonパッケージをインストールするための指示で私の答えを更新しました。 –
それは動作します! Haraldありがとう、私はこれを長い間解読しようとしてきました。私は今すぐ "selenium.common.exceptions.WebDriverExceptionを取得します。メッセージ: 'chromedriver'実行ファイルがPATHにある必要があります。それを実行しようとすると、私は前にこの1つを解決したと思う。乾杯! :) – goose