본문 바로가기

반응형

Tech/Docker

(5)
[Docker] Docker Root Directory (도커 스토리지) 변경 도커를 사용해서 개발을 하다보면 도커 이미지들이 계속해서 쌓이게 된다. 버전별로 빌드된 도커 이미지들은 작으면 몇 MB 에서 nvidia, gpu 와 관련된 이미지들의 경우에는 20GB 정도까지 용량이 커지곤 한다. 이러한 이미지들이 계속해서 쌓이면 로컬 디스크의 용량이 부족해지는 경우가 있다. 이 글에서는 이런 상황을 해결하기 위하여 마운트된 디스크와 같이 특정 위치로 도커 스토리지의 위치를 변경하는 법을 정리한다. 1. Docker Root Directory 도커 데몬은 도커와 관련된 파일들, 컨테이너 정보, 도커 이미지, 볼륨 정보, 서비스 정보 등등 도커와 관련된 정보들을 특정 디렉토리에 저장하여 사용한다. 이러한 디렉토리를 Docker Root Directory 라고 하는데 해당 디렉토리의 기본..
[Docker] Docker vs VM 도커는 하나의 서버에 여러개의 격리된 컨테이너를 구동시켜서 동작시키는 일종의 가상화 기술이다. 그렇다면 기존의 가상화 기술은 어떻게 동작하고 있으며 도커와의 차이점은 무엇일까? 1. VM (Virtual Machine) 가상화 기술이란 물리적인 하드웨어 자원을 논리적인 리소스로 제공하기 위한 기술이다. 가상화 기술을 통해서 물리적인 자원을 논리적으로 구분지워서 각 프로세스에 할당하거나 할 수 있다. 가상화 기술 발전 이전에는 하나의 서버에 하나의 애플리케이션만 구동시킬 수 있었다. 하나의 서버에 하나의 OS, 프로그램 만을 운영하기 때문에 안정적이었지만, 남는 서버 자원을 그대로 방치시키기 때문에 비효율적인 경우가 많았다. 이런 비효율성을 극복하기 위해 등장한 것이 가상화 기술이다. 그 중에서도 하이퍼바..
[Docker] Docker Compose compose는 multi-container Docker applications을 정의하고 실행하는 도구이다. docker compose에서는 YAML 파일을 통해 애플리케이션 서비스를 설정할 수 있다. compose 사용법은 기본적으로 3가지 단계를 거친다. app의 환경을 Dockerfile로 정의하여 어느 곳에서는 재사용할 수 있도록 한다. app의 서비스들을 docker-compose.yml 파일에 정의하여 독립된 환경에서 함께 동작할 수 있도록 한다. 'docker compose up' 명령어를 통해 전체 app을 실행시킨다. docker-compose binary를 사용하여 'docker-compose up' 명령어를 사용해도 된다. - docker-compose.yml version: "3...
[Docker] Dockerfile 개념 정리 1. Dockerfile Dockerfile은 새로운 도커 이미지를 빌드할 때 사용하는 파일이다. Docker는 Dockerfile에 작성되어 있는 명령어를 읽어들여 자동으로 이미지를 빌드할 수 있다. Dockerfile은 텍스트 문서로 사용자가 이미지를 빌드하기 위한 명령어 들로 구성되어있다. Dockerfile을 실행하기 위해서는 'docker build' 명령어를 사용하여 실행한다. docker build 명령어 실행 시, Dockerfile에 작성되어 있는 명령어들로 도커 이미지를 빌드한다. 2. Usage 'docker build' 명령어는 Dockerfile의 내용과 context를 통해 이미지를 빌드한다. 빌드 context는 해당 위치의 PATH 또는 url에 있는 파일들의 집합을 의미한다..
[Docker] 도커 개념 정리 Docker 도커는 어플리케이션의 개발, 실행 관리 등을 할 수 있도록 해주는 오픈 플랫폼이다. 주로 개발 환경을 관리하는 가상 환경과 같은 플랫폼으로 개발 인프라를 관리하는데에 사용한다. 도커를 사용하여 개발 인프라를 관리하고 이를 기반으로 개발, 배포 등을 진행하여 사용자의 인프라에 상관없이 어플리케이션을 실행할 수 있도록 한다. The Docker platform 도커는 컨테이너라고 부르는 독립된 환경을 통해서 어플리케이션을 패키징하고 실행할 수 있다. 컨테이너를 사용하여서 현재 로컬의 환경과는 상관없이 어플리케이션 실행에 필요한 독립된 개발환경을 구축할 수 있다. 또한 구축된 컨테이너를 공유, 배포할 수 있다. What can I use Docker for? ■ application CI/CD -..

반응형