I am trying to run Docker in CircleCI. I built our own image and tried to run it directly in CircleCI. The weird thing is, it stops only after Spin up environment. Did I miss something?
If anyone can suggest an image that caters Firefox, Selenium, Behave and Python please let me know :( Anything that is not depreciated hopefully I can try. I also have other requirements listed in requirements.txt below:
behave>=1.2.6
numpy>= 1.16.6
openpyxl>=2.6.4
parse>=1.19.0
parse-type>=0.6.0
pip>=20.3.4
pytz>=2022.2.1
selenium>=4.0.0a6.post2
self>=2020.12.3
setuptools>=44.1.1
Here is the content of my Dockerfile:
FROM ubuntu:bionic
RUN apt-get update && apt-get install -y \
python-pip \
fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 \
libnspr4 libnss3 lsb-release xdg-utils libxss1 libdbus-glib-1-2 \
curl unzip wget \
xvfb
# install geckodriver and firefox
ARG GECKODRIVER_VERSION=0.31.0
RUN wget --no-verbose -O /tmp/geckodriver.tar.gz https://github.com/mozilla/geckodriver/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz \
&& rm -rf /opt/geckodriver \
&& tar -C /opt -zxf /tmp/geckodriver.tar.gz \
&& rm /tmp/geckodriver.tar.gz \
&& mv /opt/geckodriver /opt/geckodriver-$GECKODRIVER_VERSION \
&& chmod 755 /opt/geckodriver-$GECKODRIVER_VERSION \
&& ln -fs /opt/geckodriver-$GECKODRIVER_VERSION /usr/bin/geckodriver
RUN FIREFOX_SETUP=firefox-setup.tar.bz2 && \
apt-get purge firefox && \
wget -O $FIREFOX_SETUP "https://download.mozilla.org/?product=firefox-latest&os=linux64" && \
tar xjf $FIREFOX_SETUP -C /opt/ && \
ln -s /opt/firefox/firefox /usr/bin/firefox && \
rm $FIREFOX_SETUP
# install selenium
RUN pip install selenium
RUN pip install behave
COPY requirements.txt /opt/app/requirements.txt
COPY . /opt/app
WORKDIR /opt/app
RUN pip install -r requirements.txt
Here is my config.yml
version: 2.1
orbs:
python: circleci/python@1.5.0
jobs:
jobName:
docker:
- image: dockerImageName
steps:
- checkout
- python/install-packages:
pkg-manager: pip
- run:
name: Run tests
command: behave
workflows:
featureFiles:
jobs:
- jobName
Here is what it looks like in CircleCI:
