Docker 컨테이너에서 Selenium 설정 및 Amazon ECR에서 이미지 푸시
Amazon ECR이란 무엇입니까?
Amazon Elastic Container Registry(ECR)는 컨테이너 이미지를 쉽게 저장, 공유 및 배포할 수 있는 완전 관리형 Docker 컨테이너 레지스트리입니다.
도커 컨테이너란?
Docker 컨테이너 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같이 애플리케이션을 실행하는 데 필요한 모든 것을 포함하는 가벼운 독립 실행형 실행 소프트웨어 패키지입니다.
파일 구조
── /MyFolder/ # root folder
├── /main_test.py # source code main test
├── /requirements.txt # dependencies
└── /Dockerfile # docker commands
암호
내부에 다음을 복사합니다
main_test.py
.import unittest
from selenium import webdriver
from time import sleep
class app_test_case(unittest.TestCase):
def setUp(self):
chromeOptions = webdriver.ChromeOptions()
driver_path = '/usr/local/bin/chromedriver'
chromeOptions.add_argument('--headless')
chromeOptions.add_argument('--disable-gpu')
chromeOptions.add_argument('--no-sandbox')
self.driver = webdriver.Chrome(driver_path, chrome_options=chromeOptions)
self.driver.implicitly_wait(30)
self.driver.maximize_window()
path = 'https://www.google.com/'
self.base_url = path
def test_i_d_e_script1(self):
driver = self.driver
driver.get(self.base_url)
get_title = driver.title
print(get_title, " ", len(get_title))
def tearDown(self):
sleep(5)
self.driver.quit()
if __name__ == "__main__":
unittest.main()
내부에 다음을 복사합니다
requirements.txt
.selenium==3.12.0
ipython==7.0.1
내부에 다음을 복사합니다
Dockerfile
.FROM python:3
WORKDIR /srv
ADD . /srv
RUN apt-get -y update
RUN pip install --upgrade pip
RUN apt-get install zip -y
RUn apt-get install unzip -y
RUN pip install -r requirements.txt
# Install chromedriver
RUN wget -N https://chromedriver.storage.googleapis.com/72.0.3626.69/chromedriver_linux64.zip -P ~/
RUN unzip ~/chromedriver_linux64.zip -d ~/
RUN rm ~/chromedriver_linux64.zip
RUN mv -f ~/chromedriver /usr/local/bin/chromedriver
RUN chown root:root /usr/local/bin/chromedriver
RUN chmod 0755 /usr/local/bin/chromedriver
# Install chrome broswer
RUN curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
RUN apt-get -y update
RUN apt-get -y install google-chrome-stable
CMD ["python", "main_test.py"]
Dockerfile은 Docker 이미지를 빌드하는 파일입니다. 이미지에는 Python 자체를 포함하여 애플리케이션에 필요한 모든 종속성이 포함되어 있습니다.
새 Docker 이미지 빌드 및 실행
Dockerfile과 모든 필수 구성 파일이 생성되면 이제 새 도커 이미지를 빌드할 수 있습니다.
$ docker build -t myapp .
생성된 이미지 확인
$ docker images
이미지 실행
$ docker run myapp
출력은 다음과 같아야 합니다.
Amazon ECR에서 이미지 푸시
1단계. 이미지를 푸시하려는 Amazon ECR 레지스트리에 대해 Docker 클라이언트 인증
$ aws ecr get-login --region region --no-include-email
2단계. docker 로그인 명령을 복사하여 터미널에 붙여넣어 Docker CLI를 레지스트리에 인증합니다.
3단계. 사용할 Amazon ECR 레지스트리, 리포지토리 및 선택적 이미지 태그 이름 조합으로 이미지에 태그를 지정합니다. 레지스트리 형식:
docker tag image_id aws_account_id.dkr.ecr.region.amazonaws.com/myapp
$ docker tag image_id aws_account_id.dkr.ecr.region.amazonaws.com/myapp
(참고: 먼저 ECR에서 리포지토리를 생성해야 합니다.)
4단계. docker push 명령을 사용하여 이미지를 푸시합니다. 레지스트리 형식은 다음과 같습니다
docker tag image_id aws_account_id.dkr.ecr.region.amazonaws.com/myapp
.$ docker push aws_account_id.dkr.ecr.region.amazonaws.com/myapp
링크드인
이메일: [email protected]
Reference
이 문제에 관하여(Docker 컨테이너에서 Selenium 설정 및 Amazon ECR에서 이미지 푸시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/awscommunity-asean/setup-selenium-docker-image-in-amazon-ecr-jg9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)