container

12 posts

AWS 컨테이너 서비스 훑어보기

Happy New Year! 2023년 새해가 밝았네요. 🎊 컨테이너 관리 도구를 직접 개발하는 것은 매우 어려운 일이기 때문에, AWS에서는 다양한 완전 관리형 컨테이너 오케스트레이션 서비스를 제공하고 있습니다. 이번 포스팅에서는 AWS에서 사용할 수 있는 다양한 컨테이너(container) 서비스에 대해서 살펴보도록 하겠습니다. ECS Amazon Elastic Container Service, 줄여서 ECS는 AWS에서 가장 오래된 컨테이너 서비스로서 도커(Docker) 컨테이너를 사용할 수 있도록 해주는 서비스입니다. EC

Docker Compose 네트워크

Docker Compose는 여러 개의 컨테이너(container)로 구성된 애플리케이션을 관리하기 위한 간단한 오케스트레이션(Orchestration) 도구입니다. 여러 개의 컨테이너로 구성된 Docker Compose 애플리케이션 내에서 컨테이너 간의 통신은 어떻게 이루어질까요? Docker 네트워크에 대해서 생소하신 분들은 관련 포스팅를 통해 먼저 기본 개념을 파악하시기를 권장드립니다. Docker Compose 설정법이나 커맨드가 생소하신 분들은 아래 포스팅를 먼저 읽고 돌아오시기를 추천드립니다. Docker Compose

Docker Compose 커맨드 사용법

Docker Compose는 여러 개의 컨테이너(container)로 구성된 애플리케이션을 관리하기 위한 간단한 오케스트레이션(Orchestration) 도구입니다. 이번 포스팅에서는 Compose 애플리케이션을 터미널에서 제어하기 위해 사용되는 Docker Compose 커맨드에서 대해서 알아보겠습니다. -f 옵션 Docker Compose는 기본적으로 커맨드가 실행하는 디렉토리에 있는 docker-compose.yml 또는 docker-compose.yaml를 설정 파일로 사용합니다. 다른 이름이나 경로의 파일을 Docker C

Docker Compose 설정 방법

Docker Compose를 이용하면 여러 개의 컨테이너(container)로 구성된 애플리케이션을 하나의 파일에 정의해놓고 한 번에 올리거나 내릴 수 있습니다. 이러한 편리함 때문에 Docker Compose는 특히 로컬 개발 환경이나 테스트 자동화 환경에서 간단한 컨테이너 오케스트레이션(Container Orchestration) 도구로 많이 사용되고 있는데요. 이번 포스팅에서는 Docker Compose 설정에 사용되는 docker-compose.yml을 작성하는 방법에 대해서 알아보겠습니다. 파일 위치 / 기본 구조 Dock

Docker Compose로 Django 프로젝트 셋업

최근에 많은 Django 프로젝트가 Docker를 이용해서 컨테이너(container) 기반으로 개발되고 테스트, 배포되고 있습니다. 이번 포스팅에서는 Docker Compose이용해서 PostgreSQL를 데이터베이스로 사용하는 Django 애플리케이션을 셋업해보도록 하겠습니다. Docker를 처음 접하시는 분들은 관련 포스팅를 참고하시어 먼저 본인 컴퓨터에서 Docker에 설치하시기 바랍니다. requirements.txt 파이썬에서는 보통 프로젝트에서 필요한 패키지를 requirements.txt 파일에 등록해놓고, 패키지 매

Docker 컨테이너에 데이터 저장 (볼륨/바인드 마운트)

Docker 컨테이너(container)에 쓰여진 데이터는 기본적으로 컨테이너가 삭제될 때 함께 사라지게 됩니다. Docker에서 돌아가는 많은 애플리케이션이 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장을 해야하는데요. 뿐만 아니라 많은 경우 여러 개의 Docker 컨테이너가 하나의 저장 공간을 공유해서 데이터를 읽거나 써야합니다. 이렇게 Docker 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장할 수 있도록 Docker는 두가지 옵션을 제공하는데요. 첫번째는 Docker 볼륨(volume), 두번째는 바인드

Docker 네트워크 사용법

Docker 컨테이너(container)는 격리된 환경에서 돌아가기 때문에 기본적으로 다른 컨테이너와의 통신이 불가능합니다. 하지만 여러 개의 컨테이너를 하나의 Docker 네트워크(network)에 연결시키면 서로 통신이 가능해집니다. 이번 포스팅에서는 컨테이너 간 네트워킹이 가능하도록 도와주는 Docker 네트워크에 대해서 알아보도록 하겠습니다. 네트워크 조회 Docker 네트워크의 기본은 내 컴퓨터에서 어떤 네트워크가 생성되어 있는지를 아는 것일 겁니다. docker network ls 커맨드를 사용하면 현재 생성되어 있는 D

Docker 컨테이너 관련 커맨드 사용법

Docker CLI 도구는 Docker 컨테이너(container)의 효과적인 관리를 위해서 다양한 커맨드(command)를 제공합니다. 이번 포스팅에서는 자주 쓰이는 커맨드 위주로 어떻게 Docker 컨테이너를 효과적으로 제어할 수 있는지 알아보도록 하겠습니다. 컨테이너 조회 가장 먼저 살펴볼 docker ps 커맨드는 Docker 컨테이너를 조회를 위해 사용되며 기본적으로 실행 중인 컨테이너 목록이 출력됩니다. -a 옵션을 사용하면 현재 중지되어 있는 컨테이너까지 함께 출력됩니다. -s 옵션을 사용하면 각 컨테이너의 디스크 사용

docker run 커맨드 사용법

Docker를 사용하면서 가장 자주 접하는 커맨드는 단연 컨테이너를 실행하기 위해서 쓰이는 docker run일 것입니다. docker run 커맨드는 상당히 여러 가지 옵션을 통해 다양한 방식으로 컨테이너를 실행할 수 있도록 해줍니다. 이번 포스팅에서는 이중에서 자주 쓰이는 옵션 위주로 dockr run 커맨드를 어떻게 사용하는지 알아보겠습니다. 기본 포맷 docker run 커맨드의 기본 포맷은 다음과 같습니다. 여기서 이미지 식별자는 필수이며 이미지 ID나 리파지토리(repository):태그(tag)를 사용할 수 있습니다.

Dockerfile에서 자주 쓰이는 명령어

Docker가 대중화되면서 많은 프로젝트들이 개발 환경을 컨테이너화(containerization)시키고 있습니다. 이러한 프로젝트의 최상위 디렉터리에서는 항상 Dockerfile이 위치하게 되며, 따라서 Dockerfile 이해하는 것은 그 프로젝트의 개발 환경이 어떻게 구성되는지 이해하는 첫걸음입니다. Dockerfile은 Docker 이미지(image)가 어떤 단계를 거쳐 빌드(build)되야 하는지를 담고있는 텍스트 파일입니다. Docker는 Dockerfile에 나열된 명령문을 차례대로 수행하여 이미지를 생성해줍니다. 이번

Docker를 이용한 NodeJS 개발

최근에 많은 NodeJS 프로젝트들이 Docker를 이용해서 개발되고 있습니다. 이번 포스팅에서는 NodeJS로 간단한 Express 서버 애플리케이션을 작성해보고, Docker를 이용해서 이 애플리케이션을 어떻게 컨테이너화(containerized) 할 수 있는지에 대해서 알아보도록 하겠습니다. 실습 프로젝트 환경 구성 원하는 위치에 디렉터리를 생성하고, 그 안에 package.json 파일을 생성합니다. (컴퓨터에 NodeJS가 설치가 안 되어 있다면 먼저 NodeJS를 다운로드 받아 설치해야 합니다.) 그 다음, npm을 통해

Docker 시작하기 (개념/설치)

개발자에게 Docker란? Docker는 쉽게 말해서 컨테이너(container)를 돌려주는 엔진(engine)이라고 생각할 수 있는데요. 2013년 출시 후 꾸준히 인기를 얻어온 Docker는 이제는 개발자들도 모르면 불편할 정도로 대중화가 되어 버린 것 같습니다. 하지만 아직도 많은 개발자들이 업무에서 Docker를 매일 사용하고 있음에도 불구하고, Docker를 시스템 또는 DevOps 엔지니어만을 위한 도구로 여기거나, Docker 직접 다루는 것을 회피하다가, 문제가 생겼을 때 스스로 해결을 하지 못해서 곤혼스러워하는 개발

Discord