Please Note, I have installed ubuntu20.04 from Microsoft store in Windows Machine.
I would like to perform all operations inside container and want zip file in my local system,but pushd is looking for local directory. Kindly suggest.
#!/bin/bash
RUNTIME=python3.7
SELENIUM_VER=3.141.0
CHROME_BINARY_VER=v1.0.0-55 # based on Chromium 69.0.3497.81
CHROMEDRIVER_VER=2.43 # supports Chrome v69-71
#mkdir -p out/build/chrome_headless/python/lib/$RUNTIME/site-packages
OUT_DIR=out/build/chrome_headless/python/lib/$RUNTIME/site-packages
docker run -v $(pwd):/out -it lambci/lambda:build-$RUNTIME pip install selenium==$SELENIUM_VER --target $OUT_DIR
pushd build/chrome_headless
DRIVER_URL=https://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VER/chromedriver_linux64.zip
curl -SL $DRIVER_URL >chromedriver.zip
unzip chromedriver.zip
rm chromedriver.zip
# download chrome binary
CHROME_URL=https://github.com/adieuadieu/serverless-chrome/releases/download/$CHROME_BINARY_VER/stable-headless-chromium-amazonlinux-2017-03.zip
curl -SL $CHROME_URL >headless-chromium.zip
unzip headless-chromium.zip
rm headless-chromium.zip
zip -r ../../chrome_headless.zip *
Error:
Collecting selenium==3.141.0 Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB) 904 kB 1.8 MB/s Collecting urllib3 Downloading urllib3-1.26.8-py2.py3-none-any.whl (138 kB) 138 kB 5.9 MB/s Installing collected packages: urllib3, selenium Successfully installed selenium-3.141.0 urllib3-1.26.8 WARNING: You are using pip version 21.0; however, version 22.0.3 is available. You should consider upgrading via the '/var/lang/bin/python3.7 -m pip install --upgrade pip' command. ./docker-script-layer-linux.sh: line 16: pushd: build/chrome_headless: No such file or directory % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3987k 100 3987k 0 0 7250k 0 --:--:-- --:--:-- --:--:-- 7236k ./docker-script-layer-linux.sh: line 20: unzip: command not found % Total % Received % Xferd Average Speed Time
Time Time Current Dload Upload Total Spent Left Speed 100 685 100 685 0 0 1495 0 --:--:-- --:--:-- --:--:-- 1498 100 43.4M 100 43.4M 0 0 9496k 0 0:00:04 0:00:04 --:--:-- 10.3M
CodePudding user response:
I am using below dockerfile to do above task
FROM lambci/lambda:python3.7
ENV SELENIUM_VER=3.141.0
#based on Chromium 69.0.3497.81
ENV CHROME_BINARY_VER=v1.0.0-55
# supports Chrome v69-71
ENV CHROMEDRIVER_VER=2.43
ENV RUNTIME=python3.7
USER root
SHELL ["/bin/bash", "-c"]
RUN yum -y install zip unzip
# Directory in container for project source files
ENV OUT_DIR=/out/build/chrome_headless/python/lib/$RUNTIME/site-packages
# Install Python dependencies
RUN mkdir -p $OUT_DIR
RUN pip install selenium==$SELENIUM_VER --target $OUT_DIR
WORKDIR /out/build/chrome_headless
ENV DRIVER_URL=https://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VER/chromedriver_linux64.zip
RUN curl -SL $DRIVER_URL >chromedriver.zip
RUN dir
RUN unzip chromedriver.zip
RUN rm chromedriver.zip
# download chrome binary
ENV CHROME_URL=https://github.com/adieuadieu/serverless-chrome/releases/download/$CHROME_BINARY_VER/stable-headless-chromium-amazonlinux-2017-03.zip
RUN curl -SL $CHROME_URL >headless-chromium.zip
RUN unzip headless-chromium.zip
RUN rm headless-chromium.zip
RUN zip -r chrome_headless.zip *