도커 교과서 5장 도커 허브 등 레지스트리에 이미지 공유하기
·
📚 책/도커 교과서
5. 도커 허브 등 레지스트리에 이미지 공유하기도커의 가장 큰 장점이 공유다.우리가 개발한 소프트웨어를 모든 의존 모듈과 함께 패키징한다면 어떤 환경에서라도 소프트웨어를 쉽게 실행할 수 있다.5.1 레스트리, 리포지터리, 이미지 태그 다루기우리가 이미지를 내려 받는 서버를 도커 레지스트리 라고 한다.도커 레지스트리 중 도커 허브가 제일 유명하다.도커 이미지의 전체 이름(이미지 참조, image reference) 는 네 개의 요소로 구성된다.[이미지 레지스트리 서버]/[이미지 자성자의 계정 이름]/[이미지 레포지터리 이름, 애플리케이션 이름]:[이미지 태그]docker.io/diamol/golang:latest이미지 레지스트리 서버의 기본값은 docker.io 이고, 태그의 기본값은 latest 이다.만..
도커 교과서 4장 애플리케이션 소스 코드에서 도커 이미지 까지
·
📚 책/도커 교과서
4. 애플리케이션 소스 코드에서 도커 이미지 까지4.1 Dockerfile 이 있는데 빌드 서버가 필요할까?팀 단위의 작업이 진행될 경우 빌드 도구 통일이 필요하다.해당 작업은 유지 보수를 위한 큰 오버헤드가 발생한다.그러나, Dockerfile 로 빌드 툴 체인을 한 번에 패키징해서 공유해서 사용한다면 유지 보수 비용이 대폭 감소하게 된다.FROM diamol/base AS build-stageRUN echo 'Building...' > /build.txtFROM diamol/base AS test-stageCOPY --from=build-stage /build.txt /build.txtRUN echo 'Testing...' >> /build.txtFROM diamol/baseCOPY --from=te..
도커 교과서 3장 도커 이미지 만들기
·
📚 책/도커 교과서
3장 도커 이미지 만들기3.1 도커 허브에 공유된 이미지 사용하기docker container run 명령을 사용할 때 필요한 이미지 중 로컬 컴퓨터에 없는 이미지가 있으면 이미지를 자동으로 내려받는다.이 과정은 소프트웨어 배포 기능이 도커 플랫폼에 완전히 내장됐기 때문이다.docker impage pull 명령어를 통해 명시적으로 원하는 이미지를 내려받을 수 있다.도커는 해당 이미지를 내려받기 위해 가장 먼저 Docker Hub에 접근한다.이미지를 제공하는 저장소를 레지스트리(Registry) 라고 하고, 도커 허브는 무료로 제공되는 공개 레지스트리다.$ docker image pull diamol/ch03-web-pingUsing default tag: latestlatest: Pulling from..
도커 교과서 2장 도커의 기본적인 사용법
·
📚 책/도커 교과서
2장 도커의 기본적인 사용법2.1 컨테이너로 Hello World 실행하기$ docker container run diamol/ch02-hello-diamol위의 간단한 커맨드로 도커를 사용하는 워크플로의 핵심을 볼 수 있다.애플리케이션의 패키징, 공유, 실행 의 과정이 포함되어있다.도커에서는 이 과정을 빌드, 공유, 실행 이라고 부른다.아무리 복잡한 애플리케이션도 위의 과정을 거친다.도커를 실행할 수 있는 환경이라면 어디서든 실행가능한 도커 이미지를 만들 수 있다.이것이 도커의 핵심 이점인 이식성 이다.2.2 컨테이너란 무엇인가?도커 컨테이너는 말 그대로 물건(애플리케이션)을 담는 상자(컨테이너)이다.하나의 컴퓨터(호스트) 는 여러개의 상자 (컨테이너) 를 가질 수 있다.각 컨테이너는 독립적인 환경을 ..
도커 교과서 1장 도커 컨테이너와 이미지 이해하기
·
📚 책/도커 교과서
1부 도커 컨테이와 이미지 이해하기1.1 컨테이너가 IT 세상을 점령한 이유도커는 컨테이너라는 경량 단위로 애플리케이션을 실행하는 기능을 제공하는 플랫폼이다.컨테이너는 소프트웨어 분야의 거의 모든 곳에 자리잡은 핵심 기술이다.도커를 사용하게 되면 모든 툴체인이 중앙 집중화돼 작업이 간단해 진다.1.1.1 클라우드 환경으로 이주하기클라우드 환경으로 이주하기 위해서는 IaaS, PaaS 두가지 선택지가 있다.IaaS (Infra As a Service)애플리케이션을 구성하는 각 컴포넌트가 모두 가상 머신에서 독립적으로 동작.이주 과정은 쉽지만 가상 머신의 성능을 완전히 활용하지 못하며 운영비가 비쌈.Paas(Platform As a Service)애플리케이션을 구성하는 각 컴포넌트가 클라우드 서비스 제공자의..
업무에 바로 쓰는 SQL 튜닝 1장 MySQL과 MariaDB 개요
·
📚 책/업무에 바로 쓰는 SQL 튜닝
1장 MySQL과 MariaDB 개요오라클과 MySQL비교(MariaDB 포함)MySQL(MariaDB)스토리지 구조물리적인 DB 서버마다 독립적으로 스토리지를 할당(Shared Nothing)이중화구조 마스터-슬레이브구조가 대부분.물리적으로 여러대의 DB서버에 접속하더라도 동일한 구문이 처리되지 않을 수 있으며, DB 서버 마다 각자의 역할이 부여될 수 있다.조인 알고리즘대부분 중첩 루프 조인(Nested Loop Join)최근 8.0.18 버전 부터 제약적으로 해쉬 조인 제공메모리 사용률사양이 낮은 컴퓨터 환경에서 사용 가능.약 1MB 메모리 환경에서도 사용 가능.오버헤드 작음.Oracle스토리지 구조통합된 스토리지 하나를 공유(Shared Everything)하여 사용공유 스토리지를 사용하므로 어느..
Feign Client 란?
·
1.프로그래밍/Spring
Feign 란?Feign은 Neflix에서 개발된 HTTP Client binder 이다.Feign을 이용하면 HTTP Client를 보다 쉽게 작성할 수 있다.RestTemplate, WebClient , HttpURLConnection (설마 아직도 이걸 직접…?) 을 사용하는것보다 확실히 훨씬 직관적이고 코드도 간결하다.Feign 기초 셋팅의존성 org.springframework.cloud spring-cloud-starter-openfeign@EnableFeignClients@SpringBootApplication@EnableFeignClients// @EnableFeignClients(basePackages = "com.example.clients") 명시적 선언public clas..
Linux에 MiniKube 설치하기
·
1.프로그래밍/개발
Linux에 MiniKube 설치하기시스템 요구사항Minikube를 설치하기 전에 아래 요구 사항 확인.운영체제: Linux (64-bit)CPU: 2개 이상의 CPU 코어RAM: 2GB 이상가상화 지원: VM을 사용하여 Minikube를 실행하는 경우 가상화가 활성화되어 있어야 한다.결과에 vmx 또는 svm이 포함되어 있다면, 가상화가 가능하다는 뜻.$ grep -E --color 'vmx|svm' /proc/cpuinfo시스템 아키텍처 확인먼저 시스템 아키텍처를 확인.$ uname -mx86_64: 64-bit 아키텍처 (일반적인 Intel/AMD 기반 PC)aarch64: ARM 64-bit 아키텍처 (예: Raspberry Pi, 일부 서버)armv7l: ARM 32-bit 아키텍처올바른 kub..
MyeongDev
MyeongDev