도커(11)
-
Docker compose 사용하기(다양한 컨테이너 관리하기)
도커 컴포즈에 대해 알아보도록 하자. 먼저 도커 컴포즈의 사용목적은 아래와 같다. 로컬 개발 환경 구성 특정 프로젝트의로컬 개발 환경 구성 목적으로 사용된다. 프로젝트의 의존성(redis, mysql, kafka 등)을 쉽게 띄울 수 있다. 자동화된 테스트 환경 구성 CI/CD 파이프라인 중 쉽게 격리된 테스트 환경을 구성하여 테스트를 수행할 수 있다. 단일 호스트 내 컨테이너 선언적 관리 단일 서버에서 컨테이너를 관리할 때 yaml파일을 통해 선언적으로 관리할 수 있다. 도커 컴포즈는 도커 서버에서 여러 컨테이너를 프로젝트 단위로 묶어서 사용하는 도구로 사용된다. 지금까지는 단일 서버(우분투)에서 도커 엔진을 사용해서 CLI형식으로 하나씩 도커를 실행했고 관리해 왔었다. 하지만 docker com-po..
2022.02.26 -
Docker image 경량화
도커 빌드를 통해 생성되는 이미지의 용량을 줄이는 개념이다. 도커 이미지의 크기가 작아질 수록 이미지를 푸쉬하는 속도도 빨라지고, 외부 이미지를 가져오는 속도도 빨라지고, 컨테이너를 더 빨리 만들 수 있게되며, 해당 호스트에서 동일 용량대비 보유 도커 이미지의 수가 늘어나게 될 것이다. 즉 도커 컨테이너 서비스를 운용함에 있어서 중요한 개념중 하나라고 할 수 있다. 방법론은 굉장히 다양하지만, 가장 많이 사용되는 방법들에 대해 알아보도록 하자. 1. 필수 페키지, 파일만 추가하기 서버에 필요한 모든 페키지를 설치하는 경우가 종종 있다.(git, AWS CLI...등등등) 이런 다양한 도구들은 어쩌다 사용하거나 거희 사용하지 않는 등의 경우일 수 가 있다. 이런 페키지를 굳이 이미지에 설치하게 된다면 이미..
2022.02.25 -
Docker Hub 저장소 활용하기
도커를 혼자서 사용하면 별 상관이 없겠지만 현업에서는 그러기가 굉장히 어렵다. 이것저것 챙길것도 많고, 개인 프로젝트가 아닌 팀협업을 하는 경우가 많은 만큼 허브저장소를 활용해서 같이 진행하는것이 중요하다고 볼 수 있다. 도커에서 공식적으로 제공하는 이미지 저장소인 도커 허브를 통해 이미지를 관리하는 법에 대해 알아보도록 하겠다. https://hub.docker.com/ Docker Hub Container Image Library | App Containerization We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such..
2022.01.28 -
Docker images 압축과 불러오기
도커 이미지 파일을 압축 파일로 저장하고 불러오는 기능은 보통 인터넷이 되지않는, 온라인 상에 올리지 않고, 특정 서버나 사람에게 전달해 주기 위한 목적으로 사용한다. 주요 명령어는 아래와 같다. docker save -o [OUTPUT-FILE] IMAGE docker save -o ubuntu_focal.tar ubuntu:focal ==> -o 옵션을 지원하는 save 명령을 사용한다. 어떤 파일을 해당 경로로 저장할지 지정한다. 아웃풋, 테그값 형식으로 지정하면된다. ubuntu:focal이미지를 ubuntu_focal.tar 로 압축 저장한다는 의미이다. docker load -i [INPUT-FILE] docker load -i ubuntu_focal.tar ==> -i 옵션을 지원해주는 lo..
2022.01.28 -
Dockerfile 문법정리
본인이 영어를 잘 안다면 먼저 아래의 링크를 참조하기 바란다. 공식 문서이며 dockerfile에 대한 내용을 서술해 두고 있다. 필요한 지시어를 최대한 정리해 보았다. https://docs.docker.com/engine/reference/builder/ Dockerfile reference docs.docker.com # Commant ==> 파이선과 마찬가지로 #을 통해 주석 처리를 한다. RUN echo 'test anything' ==> run이라는 도커 파일의 지시어 이며 echo~는 인자값이다. FROM busybox ENV FOO=/bar WORKDIR ${FOO} # WORKDIR /bar ADD . $FOO # ADD . /bar COPY \$FOO /quux # COPY $FOO /..
2022.01.28 -
Docker image Build(도커 이미지 빌드하기)
도커 이미지의 구조에 대한 그림이다. 차곡차곡 쌓여저 가는것을 확인할 수 있을 것 이다. 실제로 도커 이미지 구조는 레이어 아키텍쳐 라는 개념을 바탕으로 해서 변경점이 생길때 마다 순차적으로 상단에 차곡차곡 쌓이는 것을 확인할 수 있다. 그렇기에 우분투-nginx-web app cource으로 하나씩 하나씩 쌓여지게 되는 것이다. 이렇게 컨테이너를 생성하게 되면은 이미지 레이어 라는 형태로 컨테이너가 실행될때 Read Only 형태로 실행이 된다. 또한 컨테이너 안에 R/W(read, write) layer라는 컨테이너 layer가 생성이 된다. docker images 명령어를 사용하면 해당 운영체제의 로컬에 보관중인 이미지 목록을 확인할 수 있다. 또한 inspect 명령어를 통해서 헤쉬값으로 되어있..
2022.01.28