흑우마스터의 마법의 공간

Squid와 단독 실행형 Selenium을 Docker Compose로 설치 본문

프로그래밍/Docker

Squid와 단독 실행형 Selenium을 Docker Compose로 설치

흑우마스터 2023. 4. 16. 22:31
version: '3'

services:
  squid:
    image: sameersbn/squid:latest
    container_name: squid
    environment:
      - TZ=Asia/Seoul
    volumes:
      - ./squid.conf:/etc/squid/squid.conf
    ports:
      - "3128:3128"
  
  selenium_chrome:
    image: selenium/standalone-chrome:latest
    container_name: selenium_chrome
    environment:
      - TZ=Asia/Seoul
    ports:
      - "4444:4444"

위와 같이 내용을 작성한 docker-compose.yml 파일을 생성하고 이 파일과 squid.conf를 docker compose up -d 명령어를 실행하는 루트에 놓고 실행한다.

 

동작하게 되면 Selenium Grid가 아니기 때문에 VNC 화면을 볼 수 없다는 단점은 있지만 정상적으로 구동된다.

 

다만 유의해야 될 점은 두 개다 인증값이나 별도의 보안 절차가 없기 때문에 무분별하게 트래픽을 발생시키게 될 수 있으로 요청하는 PC에서 접근이 가능하도록 방화벽을 설정할 필요가 있다

 

version: '3'

services:
  squid:
    image: sameersbn/squid:latest
    container_name: squid
    environment:
      - TZ=Asia/Seoul
    volumes:
      - ./squid.conf:/etc/squid/squid.conf
    ports:
      - "3128:3128"
  
  selenium_chrome:
    image: selenium/standalone-chrome:latest
    container_name: selenium_chrome
    environment:
      - TZ=Asia/Seoul
    ports:
      - "4444:4444"
      - "5900:5900"
    # VNC 뷰어를 활성화하기 위해 아래 두 줄을 추가합니다.
    expose:
      - "5900"
    # VNC 패스워드를 설정하기 위해 아래 두 줄을 추가합니다.
    environment:
      - VNC_PASSWORD=my_password

 

만약 5900 포트를 사용하여 뷰어를 설정하여 동작 테스트를 체크해볼 수 있다. 물론 headless라면 필요없는 행위이지만 또 모르는거니까..

 

이렇게 되면 4444는 Remote Driver 포트로서 사용되며 5900인 경우에는 VNC 뷰어로서 원격지의 Selenium 크롬 드라이버의 구동 화면을 볼 수 있다.

 

다만 초기비밀번호가 secret 으로 설정되기 때문에 이 것을 수동으로 변경해줄 필요가 있다.

(위에서는 my_password이지만 다른 것으로 대체하길 바람)