DevOps
[ Docker && Kubernetes ] - 도커 컨테이너 다루기:이미지 경량화 전략
이미지를 경량화 해야지 외부 저장소로 push할 때도 빠르게되고, pull해올 때도 빠르게 됩니다. 그리고 이미지로부터 컨테이너를 띄우는 작업도 빨라지게 되고, 그리고 HostOS에서 동일한 용량대비 가질 수 있는 컨테이너의 양도 늘어나게 됩니다. 크게 이미지 경량화 전략은 3개 ( 컨테이너 레이어 수 줄이기, 경량 베이스 이미지 선택, 멀티 스테이지 빌드 사용 )이 있습니다. 컨테이너 레이어 수 줄이기 우선 Dockerfile에서 RUN명령어가 많아지게 되면, 그만큼 이미지 레이어가 쌓이게 됩니다. 이미지 레이어를 줄이기 위해서 RUN명령어를 최소화 하는 전략입니다. 기존에 작성된 Dockerfile을 보겠습니다. 저기 RUN지시어가 여러줄로 되어 있는 것을 보실 수 있을겁니다. 만약 저 RUN명령어를..
[ Docker && Kubernetes ] - 도커 컨테이너 다루기:AWS ECR 저장소 이용
ECR 저장소 이용 우선 실습을 위해 AWS Elastic Container Registry에 들어가서 저장소를 하나 만들겠습니다. 추가적인 비용 발생을 막기 위해 나머지 옵션은 다 끈채로 진행하겠습니다. 그리고 이번 실습은 aws cli에 접근해야하기 때문에 우분투 서버가 아닌 설정이 다 되어 있는 macos상에서 진행하도록 하겠습니다. 그리고 시작하기 전에 aws sts get-caller-identity를 통해서 aws cli사용자 정보를 확인하고 진행해 주셔야 합니다. 그 다음에는 AWS ECR에 명시되어 있는 명령어로 ecr 레포지토리에 연결해 주도록 합니다. 그리고 tag명령어로 nginx:latest를 ECR레포지토리에 등록하고 docker images로 이미지 목록을 확인합니다. ECR에 ..
[ Docker && Kubernetes ] - 도커 컨테이너 다루기:도커허브 저장소 이용
도커를 사용하다보면 이미지저장소가 필요하게 됩니다. 이를 관리하기 위해서는 매우 많은 서비스가 존재하게 되는데, 우리는 그중에서 이번시간에는 도커 허브에 대해서 알아보도록 하겠습니다. 우선 서버에 docker login명령어로 도커 cli에 저장소에 접근할 권한을 주어야 합니다. $ docker login -u hyunselee 를 쳐서 저는 로그인 했습니다. 그리고 /home/ubuntu/.docker/config.json경로로 들어가서 인증정보를 보면 위와 같이 auth token이 존재하는 것을 보실 수 있습니다. 어짜피 이 포스팅이 지나면 바로 토큰을 폐기할 것이므로 유효하지 않은 토큰이 될 것입니다. 그 다음에는 도커 허브에 Create Repository로 저장소를 Private하게 하나 만듭..
[ Docker && Kubernetes ] - 도커 컨테이너 다루기:이미지 압축파일로 저장 및 불러오기
이미지 압축파일로 저장 위 명령어를 보면 ubuntu:focal이미지를 ubuntu_focal.tar로 압축하는 것을 보실 수 있습니다. 이미지 압축에서 불러오기 위에서 보면 ubuntu_focal.tar에서 이미지를 불러오라고 -i옵션을 주어 실행할 수 있습니다. 실습 실습을 위해서 이전에 만들었던 my-app:v2이미지를 my-app-v2.tar로 압축하고 my-app:v2이미지를 삭제했습니다. 다음과 같이 my-app-v2.tar로부터 my-app:v2이미지를 불러올 수 있습니다. 이 압축파일을 사용하는 경우는, 인터넷이 동작하지 않는 오프라인 환경에서 자주 사용되므로 익혀 두는 것이 좋습니다.