이미지를 압축 및 풀기 `save` 명령어를 통해 이미지를 압축 할 수 있습니다. # docker save -o [저장될 파일명] [이미지명]:[태그] docker save -o my-app-v2.tar my-app:v `load` 명령어를 통해 압축을 풀 수 있습니다. #docker load -i [파일명] docker load -i my-app-v2.tar 도커허브 사용하기 우선 도커허브에 회원가입을 해주도록 합니다. Docker Hub Container Image Library | App Containerization Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker ..
도커 이미지 구조 ubuntu는 layer A > layer B > layer C 순서대로 쌓여서 이미지가 생성됩니다. nginx는 ubuntu 기반으로 만들어지고 마지막에 nginx만 쌓이는 구조입니다.. web app은 nginx 이후에 쌓이는 형태를 가집니다. docker image inspect nginx:latest // 아래와 같이 layer가 쌓인 것을 배열값으로 볼 수 있습니다. "RootFS": { "Type": "layers", "Layers": [ "sha256:d310e774110ab038b30c6a5f7b7f7dd527dbe527854496bd30194b9ee6ea496e", "sha256:eb7e3384f0ab3a08dd0163ab66625d954e511e8fa112c09923e..
STDOUT / STDERR App Container에서 나오는 표준 출력과 표준 에러를 logging driver를 활용하여 표출하고 있습니다. 명령어 컨테이너를 로그를 볼 수 있는 명령어. docker log ${con-id} 마지막 로그의 5개만 보는 명령어. docker log --tail 5 ${con-id} 실시간으로 컨테이너 로그를 보는 명령어. docker log -f ${con-id} 실시간으로 보면서 타임스탬프를 찍어주는 명령어. docker logs -t -f ${con-id} 로그 용량 제한하기 컨테이너 단위로 로그 용량 제한을 할 수 있지만, 도커 엔진에서 기본 설정을 진행할 수 있습니다. 한 로그 파일당 3mb, 최대 5개의 파일로 로테이팅하는 명령어 입니다. docker run..
도커 레이어 아키텍처 Image Layer dockerfile 기준으로 이미지가 빌드 됩니다. 읽기 전용으로 가동이 됨. 총 5개의 레이어 기준으로 빌드가 됩니다. Layer 1: Ubuntu 관련된 내용을 저장 Layer 2: apt 변경된 내용을 저장 Layer 3: 파이썬 코드 관련된 내용 저장 Layer 4: 소스 코드를 저장 Layer 5: Entry Point를 저장 Container Layer 쓰기 전용 레이어를 말함. 컨테이너를 종료시 삭제가 됨. 호스트 볼륨 호스트의 디렉토리와 도커 컨테이너 디렉토리를 1:1 매칭 하여 연결하는 방법을 의미합니다. docker run -d \ --name nginx \ -v /opt/html:/usr/share/nginx/html \ nginx 볼륨 컨테..
Elastic Cashe 현재 많은 프로젝트들이 AWS과 높은 종속성을 가지고 있습니다. 여기서 개발자들이 검토해야 하는 부분이 DB에 대한 성능을 어떻게 끌어 올릴 수 있을 것인가 입니다. 성능을 끌어 올릴 수 있는 방법은 다양합니다. DB Scale을 증가시키다. Query문을 최적화 한다. DB에 대한 GET 요청을 분산시킨다. 여기서 개발자는 요청을 분산 시키는 방향이 제일 간단하고 효율적이기에 대체로 사용을 하고 있습니다. 그럼 AWS와 의존성이 높아진 프로젝트에서 어떠한 방식으로 분산 시킬 수 있는가를 고민하게 됩니다. EC2 내부에 새로운 DB를 구축한다. AWS에서 제공하는 서비스를 사용한다. 1번의 경우 EC2 서버 자체에 부하가 증가하기 때문에 그렇게 큰 효과를 보기 어려울 수 있습니다..
GitHub를 사용한다는 것은 자신의 프로젝트를 클라우드에 저장하기 위함이지만 대체로는 여러 개발자가 동시에 개발을 하기 위하여 사용됩니다. 그렇다면, 팀 프로젝트에서 사용되는 명령어는 어떤 것이 있을지 한번 보도록 하겠습니다. 해당 글은 1부에서 이어지는 글 입니다. 1부를 읽고 보시면 이해하는데 더욱 도움이 되실 듯 합니다. Git 과 GitHub (1부) Git이란? Git은 분산 버전 관리 시스템(Distributed Version Control System)입니다. 프로그래머와 소프트웨어 개발 팀이 소스 코드와 파일들의 변경 사항을 추적하고 관리하는 데 사용됩니다. Git은 리누스 jamesblog95.tistory.com merge, conflict, fast-forward "Merge"는 G..