CI/CD와 Docker 이해하기

2024. 8. 17. 18:03·DevOps
728x90
반응형

 

CI/CD

 

 

지속적인 통합 Continuous Integration

지속적인 서비스 제공 Continuous Delivery

지속적인 배포 Continuous Deployment

 


 

Docker

 

도커를 사용하는 이유

애플리케이션 개발과 배포가 편리해짐 

  • Docker Container 내부에서 여러 소프트웨어를 설치해도 호스트 OS에는 영향이 없음.
  • CI 과정의 테스트에서 Docker 활용.
  • 어떤 서버에 올리더라도 같은 환경으로 구성된 컨테이너로 동작하기 때문에 표준화된 배포를 구성할 수 있음.

→ 애플리케이션의 독립성과 확장성이 높아짐

 

Docker 설치 ( Mac 기준 )

 

homebrew를 이용해 Docker, Docker compose 설치

# 사전에 homebrew 설치 필수


# docker for mac설치
brew install docker docker-compose

# docker version 확인
docker --version

# docker compose version 확인
docker-compose --version

 

Docker 공식 사이트에서 Docker Desktop 다운로드 및 설치

https://docs.docker.com/desktop/install/mac-install/

 

Install Docker Desktop on Mac

Install Docker for Mac to get started. This guide covers system requirements, where to download, and instructions on how to install and update.

docs.docker.com

 

 

Container 실행테스트

 

docker info

 

* 터미널에 저 커맨드 입력 시 Docker Demon을 찾을 수 없다는 에러 문구가 뜨게 되는데 Docker Desktop 설치 후 애플리케이션을 실행하는 상태에서 다시 실행하면 정상적으로 동작된다.

 

# nginx 이미지 다운받기
docker image pull nginx:1.25.3-alpine

docker images

docker image history nginx:1.25.3-alpine

docker run -d -p 8001:80 --name webserver01 nginx:1.25.3-alpine

docker ps | grep webserver01

docker port webserver01

curl localhost:8001

 

Docker Image 관리

 

Docker Container 서비스를 위한 이미지는 Container 런타임에 필요한 바이너리, 라이브러리 및 설정 값 등을 포함하고, 변경되는 상태값을 보유하지 않고 변하지 않음. (Immutable, Read-Only)

도커 이미지는 필요한 파일만 포함하고 있기 때문에 용량이 작으며, 이미지를 변경할 필요가 있을 경우에는 새 이미지를 생성해야 한다.

 

docker pull : Docker 이미지 내려받기

 

hub.docker.com 에서 이미지를 제공받거나 해당 사이트로 이미지를 제공

Private Registry 서버를 통해 이미지를 제공받거나 제공 가능

docker [image] pull [options] name:[tag]

 

docker image inspect : Docker 이미지의 내부 구조 정보를 json 형태로 제공

docker image history : Dockerfile에 대한 정보

 

Docker Image와 Docker Container의 관계

 

 

Image : 컨테이너에 대한 OS, Application, Library 등의 정보를 담고 있음.

Container : Image를 실행한 상태. 1개의 Image로부터 n개의 Container를 생성할 수 있는 1:n 관계.

 

Docker Container 관련 명령어

 

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'DevOps' 카테고리의 다른 글

[✉️ Kafka] Kafka 이해하기2 - Zookeper, Broker, Message  (2) 2024.09.27
[✉️ Kafka] Kafka 이해하기1 - Producer, Consumer, Topic, Partition  (0) 2024.09.27
Docker로 pgAdmin 띄워서 PostgreSQL 손쉽게 활용하기  (1) 2024.09.25
Redis와 NoSQL, Redis의 데이터 타입 이해하기  (0) 2024.08.21
Dockerfile & Docker Compose 사용하기  (0) 2024.08.20
'DevOps' 카테고리의 다른 글
  • [✉️ Kafka] Kafka 이해하기1 - Producer, Consumer, Topic, Partition
  • Docker로 pgAdmin 띄워서 PostgreSQL 손쉽게 활용하기
  • Redis와 NoSQL, Redis의 데이터 타입 이해하기
  • Dockerfile & Docker Compose 사용하기
waVwe
waVwe
    반응형
  • waVwe
    waVwe 개발 블로그
    waVwe
  • 전체
    오늘
    어제
    • ALL (184)
      • Python (1)
      • Spring (15)
      • DevOps (10)
      • Git (6)
      • JAVA (4)
      • C (22)
      • 코테 문제 풀이 (124)
        • 프로그래머스 (43)
        • 백준 (2)
        • 정올 (64)
        • SW Expert Academy (1)
        • 온코더 oncoder (14)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • 🐙 Github
  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    이진트리
    devops
    springboot
    정올
    도커
    progate
    스프링부트
    알고리즘
    MSA
    스파르타코딩
    내일배움캠프
    온코더
    아파치카프카
    Til
    자바
    연결리스트
    CI/CD
    스프링
    깃헙
    자료구조
    docker
    C언어
    코테
    스파르타코딩클럽
    깃
    형변환
    java
    while문
    C
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
waVwe
CI/CD와 Docker 이해하기
상단으로

티스토리툴바