도커

도커는 Paas의 장점인 운영비와 IaaS의 장점인 이식성을 모두 누릴 수 있다.PaaS의 운영 효율성: 컨테이너는 가벼운 가상화 환경으로, 애플리케이션과 필요한 라이브러리만 포함하므로 리소스 사용이 효율적이며, 운영체제를 공유하기 때문에 PaaS처럼 운영비를 절감할 수 있다.IaaS의 이식성: Docker 이미지를 사용하면 동일한 환경을 다양한 플랫폼에서 실행할 수 있고, 개발 환경과 운영 환경 간의 차이를 제거해 “한 번 빌드하면 어디서나 실행” 가능하게 만든다.애플리케이션의 각 컴포넌트는 컨테이너에서 동작하며, 가상 머신처럼 독립적이지만 경량이며 PaaS의 매니지드 서비스만큼 효율적이다. 도커를 사용하면 기존의 모놀리식 애플리케이션의 각 기능을 분리하여 개별 컨테이너로 실행할 수 있고, 이를 통해 ..
저번 포스팅에 이어서 도커에 대해 마저 알아보자https://koreatstm.tistory.com/195 비전공자도 이해할 수 있는 Docker 입문/실전(1)1. Docker 기본 개념 1. Docker를 왜 배우는 걸까?이식성 때문이다. 이식성: 프로그램을 다른곳으로 쉽게 옮겨서 설치하고 실행할 수 있는 성질ex) 같은 프로그램이라도 내 컴퓨터와 다른 사람의 컴koreatstm.tistory.com4. Dockerfile 활용해 이미지 직접 만들기 1. Dockerfile이란저번 포스팅에서 도커 이미지는 도커허브를 통해 다운받음을 보았다.그럼 이 도커 이미지는 누가 도커 허브에 올려놓은걸까? 그리고 도커 이미지는 어떻게 만드는 걸까?Dockerfile: 도커 이미지를 만들게 해주는 파일도커파일을 이..
1. Docker 기본 개념 1. Docker를 왜 배우는 걸까?이식성 때문이다. 이식성: 프로그램을 다른곳으로 쉽게 옮겨서 설치하고 실행할 수 있는 성질ex) 같은 프로그램이라도 내 컴퓨터와 다른 사람의 컴퓨터의 OS , 프로그램 등이 다르기에 설치가 안될 수 있고, 설치과정이 복잡할 경우 번거롭다. 이를 위해 Docker를 사용한다.추가적인 장점설치 과정 일일이 안 거쳐도 된다.항상 일관되게 프로그램 설치 가능프로그램이 독립적인 환경에서 실행 -> 충돌 x추가 개념IP: 네트워크 상에서 특정 컴퓨터를 가리키는 주소포트: 한 컴퓨터 내에서 실행되는 특정 프로그램 주소well-known port: 0~1023까지 미리 정해져 있는 포트 번호ex) 22(SSH), 80(HTTP), 443(HTTPS) 2...
이미지빌드란? 이미지가 어떻게 저장되는지, 이미지를 효율적으로 저장하는 레이어드 구조이미지를 만드는 방법: 커밋, 빌드빌드를 하기 위해서 도커 파일이라는 명세서 작성더 효율적인 이미지 빌드 방식: 멀티 스테이징 방식 1. 이미지와 레이어이미지는 컨테이너 실행 위한 읽기 전용 파일이며, 도커 이미지는 레이어드 파일 시스템으로 구성된다.레이어란 여러개의 층으로 구성된 것 중 하나의 층으로, 레이어드 구조는 재사용하기 좋은 구조이다.이 레이어들이 모여서 하나의 이미지로 구성되는 것이다. 즉, 각 레이어는 이미지의 일부분이다. 왜 하나의 이미지를 여러 레이어로 구성할까?-> 공간을 효율적으로 사용할 수 있어 이미지 저장&전송 시 스토리지와 네트워크 사용량을 절약할 수 있다. 건축도면을 생각하자투명한 도면을 여러..
이미지 레지스트리이미지 레지스트리는 도커 이미지를 저장하기 위한 저장소이다.이 이미지 레지스트리를 통해서 개인이나 팀이 이미지를 다른 사람과 공유하거나 필요한 이미지를 다운받을 수 있다. 저번 챕터에서 Nginx 컨테이너를 실행할때, 이 이미지 레지스트리에서 Nginx 이미지를 다운받았다. 대표 레지스트리: 도커 허브 이미지 레지스트리개념: 이미지를 저장하는 저장소개발자는 GitHub를 사용해서 자신의 소스 코드를 쉽게 보관하고 다른 개발자들과 공유Image Registry도 GitHub와 아주 비슷가장 많이 사용되는 Public Image Registry는 Docker HubGitHub가 소스 코드를 저장하는 저장소이면, Docker Hub는 이미지를 공유하는 저장소GitHub에는 소스 코드만 보관하고..
1. 이미지 이미지: 컨테이너를 만드는 재료서버에서 프로그램 실행을 위해서는 하드웨어와 소프트웨어가 필요한데, 소프트웨어는 소프트웨어만 가지고 실행할 수 없다.소프트웨어가 하드웨어 자원을 사용할 수 있도록 필수 기능을 제공해주는 OS가 필요하다.소프트웨어는 특정 패키지나 라이브러리 의존성있고, 실행을 위해 런타임 언어가 필요할 수도 있다.예를 들어 자바 개발 어플은 OS에 자바 소프트웨어 실행을 위한 자바 런타임이 설치 되어 있어야한다. 정리하자면 필요 요소 3가지 → OS, 구성요소, 프로그램 그동안 어떻게 서버를 구성하는 과정없이 한번에 실행할 수 있었냐? → 이미지를 통해 컨테이너 실행이미지는 파일 시스템에 특정 시점을 저장한 압축파일이미지는 소프트웨어 + 실행 위한 모든 요소를 압축예를들어 Ngi..
개발을 하면서 도커는 필연적으로 사용할 수 밖에 없었고, 이번 방학 때 제대로 공부해보려고 한다. 현재 아래 강의를 듣고 있고, 강사님께 허락을 맡고 블로그에 정리글을 올리려고한다.https://inf.run/Apgvc 1. 서버 엔터프라이즈 운영 환경에서 많은 양의 서버를 운영해야 한다.파일서버, DB서버, 웹서버, 웹애플리케이션서버 등이 있다. 기업에서 많은 양의 서버 운영을 해야하고, 이때 3가지 방식이 존재한다.베어메탈, 하이퍼바이저, 컨테이너하나씩 알아보자 베어메탈은 우리가 일반적으로 컴퓨터 사용하는 방식과 똑같다.하이퍼바이저를 알아보기 전에 가상화를 알아보자개발자와 운영자의 경계를 허무는 Devops, 소스코드로 인프라를 운영하는 IaC, 애플리케이션을 작고 독립적인 서비스로 나누어 관리하는M..
계란소년
'도커' 태그의 글 목록
상단으로