Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DB
- data structure
- Algorithm
- 코딩테스트준비
- 코딩테스트
- Queue
- dfs
- 자바의정석
- javascript
- 암호학
- spring
- 코테
- 크루스칼
- 공개키 암호화
- 알고리즘
- 자료구조
- dbms
- 항해99
- 문자열
- 개발자취업
- BFS
- 생성자
- generic class
- js
- JPA
- python
- Java
- sql
- jsp
- 가상컴퓨팅
Archives
- Today
- Total
PLOD
[Docker] docker와 docker - compose 본문
Docker
- Go 언어로 작성된 리눅스 컨테이너 기반 오픈소스 가상화 플랫폼
- 컨테이너 : 가상화 기술 중 하나 , 애플리케이션과 그 실행 환경을 함께 패키징하여 어디서든 동일하게 실행 될 수 있도록 해주는 기술
- 가상화 : 물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스
Docker 주요 개념 정리
- 이미지(Image): 실행 가능한 애플리케이션과 실행 파일 및 설정과 같은 환경을 정의한 파일이다. 코드, 런타임, 라이브러리 등을 포함하며, 변경이 불가능하다. → Dockerfile을 통해 docker image를 생성 할 수 있다.
- 컨테이너(Container): 이미지를 실행한 상태. 이미지의 인스턴스로서, 애플리케이션이 실제로 동작하는 환경을 제공
Docker를 사용하는 이유
- 일관성 : 어느 컴퓨터(OS)에서나 동일하게 동작한다
- 이식성: 컨테이너는 어디서든 동일한 환경을 제공하므로, 다양한 플랫폼에서 쉽게 애플리케이션을 실행할 수 있다
- 확장성: 컨테이너를 이용한 마이크로서비스 아키텍처(MSA)를 통해 애플리케이션을 쉽게 확장 가능
- 효율성: 가상 머신보다 가볍고 빠르며, 리소스를 효율적으로 사용 가능
Docker File
Docker Image를 생성하기 위한 명령어 파일
# OpenJDK 21의 최신 버전을 기반 이미지로 사용
FROM openjdk:21-jdk-slim
WORKDIR /app
# JAR 파일을 복사하기 위한 경로 설정
ARG JAR_FILE=build/libs/{jarfile}
# 복사할 JAR 파일의 경로를 지정
COPY ${JAR_FILE} app.jar
# 애플리케이션을 실행
ENTRYPOINT ["java", "-jar", "app.jar"]
도커 이미지 빌드
docker build -t test-docker-hello .
도커 이미지 실행 - (이미지 → 컨테이너)
docker run -d -p 8080:8080 test-docker-hello
도커 컨테이너 종료 명령어
docker stop test-docker-hello
'computer science > Cloud computing' 카테고리의 다른 글
[k8s]kubernetes(쿠버네티스) (0) | 2024.10.18 |
---|---|
[Hadoop] YARN : Yet Another Resource Negotiator (0) | 2022.12.15 |
[Spark] Apache - Spark (1) | 2022.12.15 |
[MapReduce] HIVE and pig (0) | 2022.12.15 |
[HDFS] MapReduce : simplified Data Processing on Large Clusters (0) | 2022.11.03 |
Comments