Cloud 9

[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

[Cloud] 클라우드 기초 이론

1. 클라우드 컴퓨팅(Cloud Computing)이란? 클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 자원(서버, 스토리지, DB, SW 등)을 제공하고, 사용하는 기술이다. 사용자는 물리적인 하드웨어나 소프트웨어를 직접 소유하거나 관리하지 않아도, 필요한 만큼의 자원을 사용하고 비용을 지불하는 형태(pay-as-you-go)로 IT 서비스를 이용할 수 있다.  On-premise : 기업이나 조직이 물리적인 IT 인프라를 직접 소유하고 구축하여 운영하는 방식 클라우트 컴퓨팅의 특징 온디맨드(On-demand) : 사용자는 필요(demand)에 따라 컴퓨팅 자원을 자동으로 할당받고, 관리할 수 있다네트워크 접근성 : 인터넷을 통해 다양한 장치에서 서비스에 접근할 수 있다. 자원 풀링(resource pooli..

Cloud 2024.11.22

[Cloud] 가상화 기초 이론

가상화(Virtualization)란?가상화, 특히 서버 가상화(Server Virtualization)은 물리적 서버 한 대를 여러 개의 가상 서버로 나누어 독립적으로 운영할 수 있게 하는 기술이다. 서버 가상화를 통해 하드웨어 리소스 활용을 최적화하고, 유연성과 확장성을 높이며, 비용 절감과 관리 편의성을 제공한다. 기존의 PC 또는 서버를 사용하다보면, 낭비되는 자원들이 생기는데, 가상화를 이용하면, 남는 자원을 독립적인 가상 머신에 할당하여 유연하게 사용할 수 있다고 생각하면 된다. 다음 구조도는 서버 가상화가 된 상태의 실제 머신(물리적 서버, PC)이다. 위의 그림을 보면, 일반적으로 하나의 PC 내에는 한 개의 OS가 존재하고, 그 위에서 애플리케이션이 실행되는 것과 달리, 가상머신이 탑재된..

Cloud 2024.11.21