DevOps - mishyta/education GitHub Wiki


dcoker-compose


  • Simple docker-compose.yml for run jenkins

version: "3"
services:
jenkins:
    image: jenkins/jenkins:lts
    restart: always
    privileged: true
    user: root
    ports:
      - 8080:8080
      - 50000:50000
    container_name: jenkins
    volumes:
      - home/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/local/bin/docker:/usr/local/bin/docker
  • Simple docker-compose.yml for run selenium-hub

version: "3"
services:
  # Selenium hub container http://localhost:4444/wd/hub 
  selenium-hub:
    image: selenium/hub
    container_name: selenium-hub
    restart: always
    networks:
      - jenkins_connect
    environment:
      - TZ=Europe/Kiev
    ports:
      - "4444:4444"
  • Simple docker-compose.yml for run selenium-node_chrome

version: "3"
services:
  # Selenium node container with Chrome, accessible via VNC localhost:5901
  selenium-node_chrome1: &selenium-node_chrome-default
    image: selenium/node-chrome-debug
    restart: always
    networks:
      - jenkins_connect
    depends_on:
      - selenium-hub
    environment:
      - TZ=Europe/Kiev
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
      - SCREEN_WIDTH=1920
      - SCREEN_HEIGHT=1080
    ports:
      - "5901:5900"
    # A known workaround to avoid the browser crashing inside a docker container
    # https://bugs.chromium.org/p/chromium/issues/detail?id=519952
    volumes:
      - /dev/shm:/dev/shm
  • Simple docker-compose.yml for run selenium-node_firefox

version: "3"
services:
  # Selenium node container with Firefox, accessible via VNC localhost:5901
  selenium-node_firefox:
    image: selenium/node-firefox-debug
    restart: always
    networks:
      - jenkins_connect
    depends_on:
      - selenium-hub
    environment:
      - TZ=Europe/Kiev
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
    ports:
      - "5901:5900"
    # The same workaround for firefox container
    # https://bugzilla.mozilla.org/show_bug.cgi?id=1338771#c10
    volumes:
      - /dev/shm:/dev/shm

Guides


Run selenoid

  • Install recent Docker version.
    sudo apt-get install docker
  • Download Configuration Manager from Githab
    wget https://github.com/aerokube/cm/releases/download/1.8.1/cm_linux_amd64

Does not matter: rename file cm_linux_amd64 => cm

  • Give execution permissions to binary
    chmod +x cm
  • Add your user to docker group
    sudo usermod -aG docker $USER

If usermod: group 'docker' does not exist, look her

  • Start your selenoid with base config
    ./cm selenoid start --vnc
  • And start UI
    ./cm selenoid-ui start

more here