docker

·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. 멀티 스테이지 멀티 스테이지 빌드는 두 개의 베이스 이미지를 활용하는 방법이다. 보통 애플리케이션을 빌드하는 과정에서 만들어지는 파일들이 용량을 많이 차지한다. 이 파일들은 실제 애플리케이션이 실행되는 데는 사용되지 않기 때문에 빌드에 사용되는 이미지와 실행에 사용되는 이미지로 나눈다. 멀티 스테이지 빌드를 잘 사용하면 애플리케이션이 실행되는 이미지의 크기를 줄일 수 있다. 백엔드 SpringBoot Application 이미지 구성 자바로 개발된 소프트웨어는 jar나 war로 소스코드를 실행 가능한 아티팩트로 만들 수 있다. jar파일로 실행시키기 위해서는 OS에 j..
·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. Node.js 로 개발된 소스코드를 애플리케이션으로 빌드하는 과정 Node.js가 설치되어 있는 OS 환경을 준비하고, Node.js 로 개발된 소스코드가 필요하다. 소스코드를 애플리케이션으로 빌드(여기에서의 빌드는 이미지의 빌드가 아니라 애플리케이션의 빌드이다.)해야 하고, 그 과정에서 애플리케이션을 실행할 때 필요한 라이브러리가 존재해야 한다. 소스코드가 있는 디렉토리에서 npm install을 하면 애플리케이션이 실행되기 위한 의존성 라이브러리가 설치된다. npm start 를 하면 애플리케이션을 실행한다. 애플리케이션 빌드 애플리케이션의 빌드란, 소스코드를 실행..
·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. 빌드 컨텍스트 빌드 컨텍스트는 이미지를 빌드할 때 사용되는 폴더이다. 도커 데몬이 임시 컨테이너를 실행시키며 레이어들을 하나씩 추가한다. 도커 데몬에게 Dockerfile과 빌드에 사용되는 파일을 전달해 주어야 한다. 도커 데몬에게 전달해주는 폴더가 빌드 컨텍스트이다. COPY 지시어를 사용하면 빌드 컨텍스트에 있는 파일이 빌드에 사용되는 컨테이너로 복사된다. 도커 데몬은 빌드 컨텍스트에 있는 파일만 COPY 명령으로 복사할 수 있다. .이 빌드 컨텍스트를 지정한 것이다. .은 명령어를 실행하는 현재 디렉토리 경로를 의미한다. 빌드 컨텍스트는 도커 데몬이 이미지를 빌드..
·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. 이미지를 만드는 방법 이미지를 만드는 방법은 크게 2가지가 있다. 실행중인 컨테이너를 그 상태 그대로 이미지로 만들어내는 커밋 방식과 Dockerfile이라는 명세서를 이용해서 이미지를 만들어내는 빌드 방식이 존재한다. 대부분 빌드 방식을 사용하지만, 빌드 방식이 커밋 방식을 기반으로 동작하기 때문에 빌드 방식도 알아야 한다. 커밋을 통해 이미지 만들기(Nginx) 실습 -it 옵션을 이용하면 실행할 컨테이너와 직접 상호작용이 가능하다. cmd에 들어가는 실행 명령어에 리눅스의 쉘을 명령어로 주어야 한다. 즉, bin/bash 를 입력하면 된다. 새로 배운 명령어는 다..
·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. 레이어(Layer) 이미지는 컨테이너를 실행하기 위한 읽기 전용 파일이다. 도커 이미지는 저장소를 효율적으로 사용하기 위해 Layered File System 으로 구성되어 있다. 레이어는 하나의 층을 말한다. 이미지는 여러 개의 레이어로 구성되어 있다. 로컬 저장소의 이미지가 없는 것을 확인하고 Docker hub에서 이미지를 다운로드 받는다. nginx라는 하나의 이미지를 다운받는 과정에서 pull이 여러 번 실행되는 것을 볼 수 있는데, 하나의 pull이 하나의 layer라고 생각하면 된다. 굳이 하나의 이미지를 왜 여러개의 레이어로 구성했을까? 레이어 구조가 재..
·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. 이미지 레지스트리란? 이미지 레지스트리는 도커의 이미지를 저장하기 위한 저장소이다. 이미지 레지스트리를 통해서 개인이나 팀이 이미지를 공유하거나 필요한 이미지를 다운받을 수 있다. 깃허브가 소스코드를 저장하는 저장소이면, 도커허브는 이미지를 공유하는 저장소이다. 이미지 레지스트리 제품들이 공통적으로 제공하는 기능들을 정리하면 다음과 같다. 이미지 공유 : 이미지를 업로드 하고 다운로드 할 수 있다. 이미지 검색 : 이미지를 검색할 수 있다. 이미지 버전 관리 : 특정 버전의 이미지를 지정하여 다운받을 수 있다. 보안 : 원하는 사용자만 다운받을 수 있게 하거나, 업로드..
·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. 메타데이터 메타데이터는 데이터에 대한 데이터를 의미한다. 이미지가 실세로 압축된 데이터라면 메타데이터는 이 이미지에 대한 정보를 기술하는 데이터이다. 하나의 이미지는 실제로 압축된 파일과 파일의 정보가 저장되어 있는 메타데이터로 구성되어 있다. Env와 Cmd 이미지의 메타데이터에서 유심히 봐야 할 부분이 Env와 Cmd 필드이다. Env는 소프트웨어가 실행 시 참조할 설정 정보이다. Env는 Key와 Value로 이루어져 있다. (ex. VERSION=1.23.2) Env에는 버전 정보, 파일 경로와 같은 값이 저장되어 있다. 이 값이 바뀌면 이미지의 실행 방법이 달..
·Docker
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 이미지 출처는 해당 강사님께 있습니다.   이미지를 컨테이너로 실행하고, 이미지와 컨테이너의 차이를 알아보자.    이미지란?이미지는 특정 서버를 실행할 수 있는 상태를 저장한 압축 파일이다.   프로그램과 프로세스의 차이프로그램은 실행 가능한 소프트웨어이다. 프로그램을 설치하면 디스크를 차지한다. 프로그램인 상태에서는 CPU나 메모리 같은 컴퓨터의 리소스를 사용하지 않고, 스토리지의 디스크 공간만 차지한다. 파일 형태의 프로그램을 실행하면 프로세스가 된다. 프로그램은 여러 개의 프로세스를 실행할 수 있다. 프로세스는 CPU와 메모리를 사용한다.   이미지와 컨테이너이미지와 컨테이너의 관계가 프로그램과 프로세스의 관..
coding-orange
'docker' 태그의 글 목록 (2 Page)