본문 바로가기

Container/Docker

(6)
[Docker] 여러 개의 컨테이너를 하나로 묶어 관리하자, Docker Compose 🔊 해당 포스팅은 시작하세요! 도커/쿠버네티스 서적을 읽고 개인적인 목적 하에 작성되는 글입니다. 포스팅에 사용되는 모든 자료는 제가 직접 재구성하였음을 알립니다. 이번 포스팅에서는 (이전에 얕게나마 배웠던) 여러 개의 컨테이너를 하나의 서비스로 정의하여 컨테이너 묶음으로 관리할 수 있도록 작업 환경을 제공하는 도커 컴포즈에 대해 배워보자. 1. 도커 컴포즈가 왜 필요할까? 도커 컴포즈를 본격적으로 배우기에 앞서 근본적인 질문부터 해보자. 도커 컴포즈를 배우고 사용해야 하는 이유는 무엇일까? 이유는 바로 하나의 애플리케이션 서비스는 보통 여러 개의 컨테이너 서비스들이 동시에 동작하는 것으로 구성되기 때문이다. 지금까지 우리는 일반적인 도커 엔진에서 컨테이너 단위로 제어할 때도, 도커 스웜을 배울 때도 하..
[Docker] 여러 호스트의 도커를 관리하자, Docker Swarm 🔊 해당 포스팅은 시작하세요! 도커/쿠버네티스 서적을 읽고 개인적인 목적 하에 작성되는 글입니다. 포스팅에 사용되는 모든 자료는 제가 직접 재구성하였음을 알립니다. 저번 포스팅까지는 하나의 호스트 안에서의 도커 엔진을 사용하는 방법에 대해 알아보았다. 이번 포스팅에서는 이제 여러 호스트 즉, 여러 개의 호스트 머신들 각각에 설치되어 있는 도커 엔진들을 관리하는 방법 중 하나인 도커 스웜에 대해 알아보도록 하자. 1. 왜 도커 스웜을 쓸까? 실제 프로덕션 환경에서는 하나의 호스트에 설치되어 있는 도커 엔진으로만 모든 컨테이너를 관리하지는 않는다. 이유는 생각보다 간단하다. 그 도커 엔진이 설치되어 있는 호스트 즉, 물리 머신이 갑자기 다운되거나 장애가 발생하면 그 즉시 프로덕션은 더 이상 사용자들에게 서비..
[Docker] 서버로서의 역할, Docker Daemon 🔊 해당 포스팅은 시작하세요! 도커/쿠버네티스 서적을 읽고 개인적인 목적 하에 작성되는 글입니다. 포스팅에 사용되는 모든 자료는 제가 직접 재구성하였음을 알립니다. 저번 포스팅까지는 도커 엔진을 사용하는 방법을 알아보았다. 구체적으로, 컨테이너, 이미지를 생성하고 관리하는 방법, 더 나아가 Dockerfile을 가지고 나만의 이미지를 생성하는 방법에 대해서도 학습했다. 이번 포스팅에서는 도커 자체를 다뤄볼 수 있는 도커 데몬에 대해서 알아보자. 도커 데몬에 대해 이해하고 도커 자체적으로 설정할 수 있는 여러가지 옵션을 활용하면 이미지와 컨테이너를 좀 더 쉽게 사용할 수 있게 될 것이다. 도커 데몬에 대해서 알아보기 전에 도커가 어떤 구성요소로 이루어져 있는지부터 이해해야 한다. 1. 도커의 구조 이제부터..
[Docker] 도커 이미지 다루어보기, 그리고 Dockerfile 🔊 해당 포스팅은 시작하세요! 도커/쿠버네티스 서적을 읽고 개인적인 목적 하에 작성되는 글입니다. 포스팅에 사용되는 모든 자료는 제가 직접 재구성하였음을 알립니다. 이번 포스팅에서는 도커 이미지에 대해 알아보고, 이미지를 다루어보는 방법에 대해 알아보자. 그리고 나만의 이미지를 만드는 데 활용되는 Dockerfile에 대해서도 배워보자. 참고로 Dockerfile에 대해서는 얕게나마 생활코딩 강의를 통해 배운적이 있었다. Dockerfile이 무엇인지에 대해 모른다면 간단히 이전 포스팅을 읽고 오는 것도 좋을 듯 하다. 1. 도커 이미지를 생성하자, docker commit 리눅스 배포판 중 Ubuntu는 패키지를 apt 레포지토리에서, CentOS는 패키지를 yum 레포지토리에서 설치하는 것처럼, 또 ..
[Docker] 도커 컨테이너 다루어보기 🔊 해당 포스팅은 시작하세요! 도커/쿠버네티스 서적을 읽고 개인적인 목적 하에 작성되는 글입니다. 포스팅에 사용되는 모든 자료는 제가 직접 재구성하였음을 알립니다. 이번 포스팅에서는 도커 엔진의 핵심 중 하나인 도커 컨테이너를 다루는 방법에 대해 알아보도록 하자. 1. 컨테이너 생성하기 가장 먼저 배워볼 것은 컨테이너를 생성하는 방법이다. docker run 명령어로 실행할 수 있는데, 이 명령어는 컨테이너를 생성하고 실행까지 할 수 있는 명령어이다. 명령어 형식은 아래와 같다. 공식 문서에 가면 여러가지 인자가 있긴 하지만, 여기서는 자주 쓰이며 핵심적인 명령어 인자만 알아보도록 하자. $ docker run [OPTIONS] [IMAGE] 아래와 같이 ubuntu:20.04 이미지를 활용해서 컨테이너..
[Docker] 도커란, 그리고 도커 엔진의 이미지와 컨테이너 🔊 해당 포스팅은 시작하세요! 도커/쿠버네티스 서적을 읽고 개인적인 목적 하에 작성되는 글입니다. 포스팅에 사용되는 모든 자료는 제가 직접 재구성하였음을 알립니다. 이번 포스팅을 시작으로 도커와 쿠버네티스 관련 개발 서적을 통해 본격적으로 깊이 있는 공부를 시작해보려고 한다. 도커 관련해서는 이전에 생활코딩 이고잉님의 기초 강의만 공부했었고 제대로 동작 원리와 깊이 있는 공부를 하지 못했었다. 최근 컨테이너를 기반으로 하는 인프라를 구성하는 트렌드로 가게 되면서 도커와 쿠버네티스에 대한 공부를 언젠가는 해야 한다고 생각했다. 그 첫 번째 주제로 도커란 어떤 개념인지 알아보고 도커라는 컨테이너를 생성하고 관리하는 주체이자 핵심인 도커 엔진의 이미지와 컨테이너에 대해 알아본다. 1. 가상머신과 도커 컨테이너..