Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
Docker를 사용하다 보면, Ubuntu Image위에 세팅을 하여 container Image를 빌드하고는 한다.그렇다면 이 Image는 하나의 VM처럼 Ubuntu OS를 가상화해 제공해 주는 것일까?Host OS의 커널을 공유하기 때문에 경량화와 최적화가 가능했는데, 이런 것이 가능할까?또는 CentOS에 Docker를 설치하고 Ubnutu Image를 실행하면, 동작이 가능한 것일까? (미리 언급하면 가능하다.) 이번에는 이 주제에 대해서 알아보자. 핵심은 Host OS의 커널 공유 왼쪽에서 확인할 수 있듯이, Docker는 Host OS위에 Docker engine이 동작하여 Container 들이 이 커널을 공유하는 형태이다.따라서 container는 일종의 프로세스처럼 취급될..
Docker image 파일을 다양한 방법으로 백업해 보자. 1. Docker Hub에 public한 백업 2. VM의 저장소에 SCP로 백업(private) 3. Docker Registry container에 private한 백업 image들을 백업하는 방식도 있지만, -v 옵션으로 특정 경로의 데이터만 마운트 시켜서 저장하는 방식도 백업에 일종으로 볼 수 있다. 컨테이너는 외부에 데이터를 저장하고 컨테이너는 그 자체로 동작하는 stateless 설계가 매우 바람직하다. 따라서 전체 Image가 아닌 데이터만 따로 백업하는 방식이 효율적일 수 있다. 어떤 상황에서 어떤 전략이 최선일지 판단하기 위해 서로 간의 차이를 명확히 알아두는 것이 중요하다. 1. Docker Hub에 public한 백업 이전 ..
github actions로 폴더마다 다른 도커 image를 build 하고 AWS ECR로 업로드해보자. 일단 레퍼지토리에서 단 하나의 docker image를 빌드한다면 다른 분이 만든 workflow를 이용하면 쉽다. https://github.com/jwalton/gh-ecr-push/tree/master GitHub - jwalton/gh-ecr-push: GitHub Action to push a docker image to Amazon ECR. GitHub Action to push a docker image to Amazon ECR. - GitHub - jwalton/gh-ecr-push: GitHub Action to push a docker image to Amazon ECR. gith..
Selenium 4.10 버전 Selenuim으로 작성한 크롤링 파일을 Docker로 build 하려 했는데, docker는 화면 자체가 없고 chrome driver도 따로 설치해 주어야 하기 때문에 그대로 코드를 동작시킬 수 없다. 문제는 Selenium이 최신 버전인 4.10 까지 지속적인 업데이트를 하면서, 기존의 docker 상에서 Selenium 동작시키는 정보들을 따라 하면 오류가 발생한다. (덕분에 트러블 슈팅에 개고생을...) 여러 사이트의 정보로 시행착오를 거치며 결국 build에 성공한 4.10 버전의 build 방식을 소개하겠다. Dockerfile 일단 Dockerfile의 작성은 아래의 게시글 작성자 분이 잘 설명해 주고 있다. https://velog.io/@ywoosang/a..