Docker
[Docker] docker에 selenium 설치
먹세
2023. 5. 10. 10:59
로컬 폴더구조
selenium/
- docker-compose/
- selenium-local/
- selenium/
- Dockerfile
docker-compose.yml
- selenium-dev/
- selenium/
- Dockerfile
docker-compose.yml
index.py
local과 dev 서버를 분리하여 compose 를 생성해서, local과 dev의 동작을 분리한다.
아래는 로컬 기준 파일임
Dockerfile
FROM ubuntu
# python 설치 및 셀레늄 사용 시 필요한 프로그램 설치
RUN apt-get update && apt-get install -y \
wget \
vim \
xvfb \
curl \
unzip \
python3 \
python3-pip \
python3-xlrd \
python3-pyvirtualdisplay
# 셀레늄 및 필요 프로그램 설치
RUN pip install selenium \
webdriver_manager \
pyvirtualdisplay \
undetected-chromedriver
# 크롬 설치
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
RUN apt-get update && apt-get install -y google-chrome-stable
# 로컬 소스 복사
COPY --chown=48:48 ../../ .
# 크롬 드라이버 다운로드
RUN wget -N https://chromedriver.storage.googleapis.com/112.0.5615.49/chromedriver_linux64.zip -P /download
RUN chmod -R 777 /download
RUN unzip /download/chromedriver_linux64.zip
WORKDIR /var/www/html
CMD ["python3", "-u", "-m", "http.server"]
docker-compose.yml
version: '3'
services:
selenium:
build:
context: .
dockerfile: ./selenium/Dockerfile
volumes:
- "../../:/var/www/html:rw"
environment:
- "TZ=Asia/Seoul"
ports:
- "9091:80"
networks:
- web-proxy
volumes:
node-modules:
driver: local
networks:
web-proxy:
external: true
반응형