Cloud/Docker 7

[Docker] Docker Compose

*해당 포스팅은 다음과 같은 환경에서 진행하였으니, 참고 바랍니다.Docker Community Edition Ubunto Linux 22.04 (OS에 따라 설치 방법은 다소 상이하나, 사용법은 동일함)VMware  Workstation pro ( x86_64, CPU  x 2, RAM 2GB, HDD 120GB) 1. Docker Compose란? 이전 포스팅을 보고 오신 분들이라면, 도커 컨테이너를 하나 만들 때마다, docker run~를 치는 과정을 거쳤을 것이다. 만약 웹 서버 10대, WAS 20대, DB 서버 10대 이런 식으로 여러 개의 컨테이너를 생성해야 하는 경우, 모든 컨테이너를 일일이 명령어를 쳐서 실행시킬 수도 있지만, 다소 번거롭다고 느낄 것이다. 이러한 과정을 더 쉽게 해주는..

Cloud/Docker 2024.11.27

[Docker] 도커 레지스트리 구축 및 활용

*해당 포스팅은 다음과 같은 환경에서 진행하였으니, 참고 바랍니다.Docker Community Edition Ubunto Linux 22.04 (OS에 따라 설치 방법은 다소 상이하나, 사용법은 동일함)VMware  Workstation pro ( x86_64, CPU  x 2, RAM 2GB, HDD 120GB) 1. 왜 사설 레지스트리를 구축할까? 우선 도커 레지스트리(registry)는 도커 이미지를 저장하고 배포하는 저장소이다. 이전 포스팅들을 본 분들이시라면 사용해 보셨을 Docker Hub가 대표적인 도커 레지스트리이다. Docker Hub 처럼 다양한 이미지를 저장하고 있는 퍼블릭 레지스트리가 있는데, 조직 내부에 사설 레지스트리를 추가적으로 구축하는 이유는 무엇일까?다음 정리를 통해 그 ..

Cloud/Docker 2024.11.26

[Docker] 도커 이미지 생성: commit, Dockerfile

*해당 포스팅은 다음과 같은 환경에서 진행하였으니, 참고 바랍니다.Docker Community Edition Ubunto Linux 22.04 (OS에 따라 설치 방법은 다소 상이하나, 사용법은 동일함)VMware  Workstation pro ( x86_64, CPU  x 2, RAM 2GB, HDD 120GB) 1. commit으로 도커 이미지 만들기  도커 컨테이너를 사용하다보면 기존의 이미지에 네트워크 설정, 패키지 설치 등을 추가해 요구에 맞게 커스터마이징된 이미지가 필요한 경우가 있다. 이러한 이미지를 만들 수 있는 첫 번째 방법이 commit을 활용하는 것이다. commit을 활용하는 방법은 단순하다. 이미지를 기반으로 컨테이너를 만든 후, 필요에 맞게 커스터마이징해서 로컬에 commit하..

Cloud/Docker 2024.11.26

[Docker] 도커 컨테이너 네트워크 관리 명령어

*해당 포스팅은 다음과 같은 환경에서 진행하였으니, 참고 바랍니다.Docker Community Edition Ubunto Linux 22.04 (OS에 따라 설치 방법은 다소 상이하나, 사용법은 동일함)VMware  Workstation pro ( x86_64, CPU  x 2, RAM 2GB, HDD 120GB) 1. 도커 네트워크의 특징  도커는 도커 호스트 내부에서 다음과 같이 도커 컨테이너를 위한 네트워크를 구성할 수 있다. 추상적인 환경이라 직접적으로 와닿지는 않지만, 도커 컨테이너는 도커 엔진으로부터 한 개의 이더넷 인터페이스(NIC)와 사설 IP 주소를 할당받는다. 컨테이너의 통신 방식을 간략하게 설명하면 다음과 같다. 컨테이너 -> 브리지 -> 도커 엔진 -> 호스트의 NIC -> L2 ..

Cloud/Docker 2024.11.26

[Docker] 도커 컨테이너 라이프사이클 / 도커 관리 명령어1

*해당 포스팅은 다음과 같은 환경에서 진행하였으니, 참고 바랍니다.Docker Community Edition Ubunto Linux 22.04 (OS에 따라 설치 방법은 다소 상이하나, 사용법은 동일함)VMware  Workstation pro ( x86_64, CPU  x 2, RAM 2GB, HDD 120GB) 1. 도커 컨테이너 라이프사이클(Lifecycle) 도커 컨테이너를 관리하다 보면, 컨테이너의 상태를 확인해야 하는 경우가 종종 생긴다. 이때 도커 컨테이너의 상태에 맞게 효과적으로 관리하기 위해서는 컨테이너의 라이프사이클을 아는 게 유리하고, 컨테이너의 라이프사이클은 직접적으로 컨테이너 관리 명령어와 연관돼 있기 때문에 간단하게 컨테이너 라이프사이클의 상태전이도를 보고 넘어가자. 도커 컨테..

Cloud/Docker 2024.11.25

[Docker] 도커 설치 및 실행 방법

*해당 포스팅은 다음과 같은 환경에서 진행하였으니, 참고 바랍니다.Docker Community Edition Ubunto Linux 22.04 (OS에 따라 설치 방법은 다소 상이하나, 사용법은 동일함)VMware  Workstation pro ( x86_64, CPU  x 2, RAM 2GB, HDD 120GB) 1. APT 업데이트 및 HTTPS 활성화  apt update apt install apt-transport-https ca-certificates curl software-properties-common 2. Docker의 공식 GPG Key 등록 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o..

Cloud/Docker 2024.11.24

[Docker] Docker Container 기초 이론

1.  도커(Docker)와 컨테이너(Container)란? 도커(Docker)란 컨테이너 기술을 기반으로 애플리케이션(응용 프로그램)과 그 런타임(실행 환경)을 패키지화하여 실행/관리하는 오픈 소스 플랫폼(PaaS)이다. 컨테이너(Container)는 리눅스 커널의 격리 기술*을 기반으로 애플리케이션과 런타임을 패키징하여 격리된 상태로 실행할 수 있는 기술이다. 쉽게 말하자면, 도커란 컨테이너를 실행/관리하는 기술이고, 컨테이너는 프로세스 단위의 격리 환경을 제공하여, 마치 프로세스 단위의 가상 머신이 있는 것과 같이 작동하게 해주는 기술이다(가상 머신과 같은 것은 아니다).** 리눅스 커널의 격리 기술1. namespace프로세스 상에서 사용하는 특정 자원에 대한 가시성을 제한하기 위해 리눅스 커널에..

Cloud/Docker 2024.11.23