저번 포스팅에 이어서 도커에 대해 마저 알아보자https://koreatstm.tistory.com/195 비전공자도 이해할 수 있는 Docker 입문/실전(1)1. Docker 기본 개념 1. Docker를 왜 배우는 걸까?이식성 때문이다. 이식성: 프로그램을 다른곳으로 쉽게 옮겨서 설치하고 실행할 수 있는 성질ex) 같은 프로그램이라도 내 컴퓨터와 다른 사람의 컴koreatstm.tistory.com4. Dockerfile 활용해 이미지 직접 만들기 1. Dockerfile이란저번 포스팅에서 도커 이미지는 도커허브를 통해 다운받음을 보았다.그럼 이 도커 이미지는 누가 도커 허브에 올려놓은걸까? 그리고 도커 이미지는 어떻게 만드는 걸까?Dockerfile: 도커 이미지를 만들게 해주는 파일도커파일을 이..
docker

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..