도커에 대하여...2

이성현·2022년 5월 3일
1

이미지

도커에서 이미지는 컨테이너 실행에 필요한 파일, 및 설정 값을 포함하고 있다. 특정한 상태값이 모두 저장되어 있다고 생각하면 된다. 해당 상태값은 변하지 않고, 컨테이너는 이 이미지를 실행한 상태라고 볼 수 있다. 이후 추가되거나 변화되는 것이 있으면 컨테이너에 저장된다. (나는 이미지와 컨테이너의 관계를, 클래스와 인스턴스의 관계와 비슷한 점이 있다고 생각하고 넘어갔다.)
같은 이미지로 여러 개의 컨테이너를 생성할 수 있으며, 컨테이너를 삭제해도 이미지에는 아무 영향을 주지 않는다.
가령 새로운 서버가 추가된다면, 미리 만들어 놓은 이미지를 다운받아 컨테이너를 생성하면 된다. 한개의 서버에 여러개의 컨테이너를 실행할 수 있다.
도커의 이미지는 'Docker Hub', 혹은 'Docker Registry'에 저장소를 직접 만들어 관리할 수 있고, Github Packages를 통해 배포하거나 'Harbor'과 같은 저장소를 쓸 수 있다.

도커의 효율성

도커는 '레이어'를 통해 새로 바뀐 부분만을 다운받을 수 있게 해주고, 유니온 파일 시스템을 이용해 여러개의 레이어를 하나의 파일 시스템으로 사용할 수 있게 해준다.
예를 들어 기존에 '가나다'에서 '라'를 추가해야 한다면, '가나다'는 다운받을 필요 없고 '라'만 다운받아서 '가나다라'의 형태로 만들 수 있다.

AWS Elastic Beanstalk

거두절미하고, 앱이나 웹을 배포하기 위해 가장 손쉬운 방법은 AWS를 활용하는 것이다.
Elastic Beanstalk은 EC2의 인스턴스를 만드는 단축키이다. 테스트용 인스턴스, 배포용 인스턴스, 그래프 등을 빠르게 만들어준다. EC2를 사용하면 redhat, linux등등 사용환경에 따른 서버 등의 설정을 일일이 해줘야하는 반면 AWS Elastic Beanstalk은 그것들을 자동적으로 빠르게 해준다고 할 수 있다.
사용 방법 등은 다음 포스팅에 해야겠다.

profile
삼성전자 C-Lab 21기 Creative Leader SW개발자 (쪼랩)

0개의 댓글