Infra
-
Docker (5) - 도커 네트워크Infra/Docker 2024. 1. 25. 15:46
1. 네트워크 기본 - 네트워크는 기계와 기계사이를 물리적 케이블로 연결 - 집과 도로의 관계 집과 집사이를 도로를 통해 연결하듯 기계들이 인터넷 선으로 연결 - 네트워크는 ip주소로 장치의 주소를 관리한다. (공인 ip와 사설 ip로 나뉜다) - 하나의 공인ip는 다시 내부의 사설 ip로 나뉜다. 이와 같이 ip주소를 나누기 위해선 네트워크 장비가 필요하다. (라우터,공유기 등) - 공유기기를 보면, WAN포트가 공인 ip가 들어오는 곳이고, 나머지 LAN은 사설 ip를 구성하는 포트이다. - 각 장비는 네트워크 인터페이스를 가지고 있다. 네트워크 인터페이스는 인터넷에 연결하기 위해 컴퓨터에 장착하는 부품 중 하나이다. (NIC,LAN카드) - 네트워크 인터페이스는 ip를 가질 수 있다. 네트워크 인터..
-
Docker (3) - 이미지 빌드Infra/Docker 2024. 1. 24. 23:14
1. 이미지와 레이어 - 도커 이미지는 저장소 공간을 효율적으로 사용하기 위해 레이어드 파일 시스템을 채택 - 레이어드 구조가 재사용에 유리하다. 저장 및 전송에서 스토리지와 네트워크 사용량을 절약할 수 있다. - 또한 변경사항에 있어서 재활용이 유리하다. 동일한 부분은 하나로 공유하고 다른 부분만 가지고 있으면 된다. - 두개의 이미지이지만, html파일을 수정한 것 외에는 모두 동일하다면, 나머지 설정은 공유되고, 변경사항만 기록한다. - 이미지에 한번 저장된 레이어는 변경 불가하다 -> 변경시 새로운 레이어가 생긴다. 2. 이미지 레이어와 컨테이너 레이어 - 컨테이너 실행 중 발생하는 모든 변경 사항은 컨테이너 레이어에 생긴다. - 컨테이너 레이어는 이미지 레이어에 영향을 주지 않는다. 컨테이너별로..
-
Docker(4) - 레지스트리Infra/Docker 2024. 1. 24. 21:26
1. 레지스트리 - 레지스트리는 이미지를 저장하는 공간이다. 프라이빗 레지스트리와 퍼블릭 레지스트리로 나뉜다. - 이미지를 가동시킬 때 로컬에 해당 이미지가 없다면, 레지스트리에서 이미지를 찾아본다. (코드를 저장하는 깃허브를 생각해보자) 2. 이미지 이름 규칙 - 레지스트리주소/프로젝트명/이미지명:이미지태그 - 위와같이 이루어진다. 레지스트리 주소 값은 비어있으면 기본값 (docker.io)가 사용된다. - 프로젝트명은 이미지 관리 폴더명 정도이다. 생략시 가입자명이다. - 태그는 보통 버전정보가 담긴다. jawon.com/project/myImage:2.1.0-alpine docker.io/jangwon/myImage:2.1.0-alpine - 도커에서 지정한 offical 이미지는 위와같은 태그들 ..
-
Docker (2) - 이미지와 컨테이너Infra/Docker 2024. 1. 24. 21:10
1. 이미지 - 일반적으로 프로그램을 실행시키기 위해선 위와 같은 환경이 조성되어야 한다. - 이미지는 특정 시점의 어플리케이션을 구동할 수 있는 환경을 압축하여 저장해 둔 것이다. - 도커를 사용한다는 것은 컨테이너 안에서 특정 소프트웨어를 운영한다는 것이다. - 컨테이너는 이미지를 통해 실행 될 수 있다. - 이미지 자체는 압축파일로 용량만 차지하고, 이를 컨테이너를 통해서 실행하면 cpu,메모리등의 리소스를 사용하기 시작한다. - 비유하자면, 이미지는 게임의 실행 파일이고, 실행 파일을 눌렀을 때 시작되는 프로세스를 컨테이너로 볼 수 있다. - 하나의 이미지에 여러 컨테이너를 실행시킬 수 있다. 컨테이너 실행시 이미지를 복사해 격리된 디스크 공간을 생성한다. * 사용하는 입장에서 컨테이너는 그냥 하..
-
Docker (1) - 가상화 기술Infra/Docker 2024. 1. 24. 20:35
1. 엔터프라이즈 환경에서 구동되는 다양한 서버 - 서버는 일반적으로 하드웨어에서 실행 중인 소프트 웨어를 지칭한다. - 서버는 서버에서 어떤 소프트웨어가 실행되느냐에 따라 나눌 수 있다. (파일공유 소프트웨어(파일서버), RDB 소프트웨어(DB서버) - 서버는 이미 만들어진 소프트웨어를 다운받아 구성되거나, 소스코드로 개발된 애플리케이션 서버가 있다. - 엔터프라이즈 환경에선 다양한 서버가 운영되는데, 운영방식에 따라 베어메탈,하이퍼바이저,컨테이너 형식으로 나눌 수 있다. > 베어메탈: 일반적으로 컴퓨터를 사서 프로그램을 실행한다. 서버 컴퓨터를 구입하고, 여러개의 소프트웨어를 구동한다. > 하이퍼바이저: 하나의 컴퓨터의 리소스를 공유하는 가상환경을 만들고 그 위에서 각각의 서버 소프트웨어를 운용한다...