본문 바로가기
반응형

DevOps5

Dockerfile이란 무엇인가 Intro 자동 배포를 공부하니 정말 알아야 할 것들이 산더미다. 그중에서도 핵심적인 부분이 프로젝트를 JAR 파일로 빌드하여 이미지로 생성하고, 그것을 가상의 컴퓨터에서 실행시키는 것인데, 자동 배포를 구글링을 하여 어찌어찌 성공했으나 이미지 빌드로 Jib 라이브러리를 사용하니 그 과정에 대한 부분은 전혀 모른 채 사용하게 됐다. 어차피 회사마다 CI/CD의 의미가 다르다고 하니 도커 이미지 빌드 과정도 배울 겸 오늘은 dockerfile에 대해서 글을 써보고자 한다. Dockerfile 이란? Dockerfile이란 도커 이미지를 만들기 위한 스크립트 파일이다. 내부에는 도커 이미지를 만들기 위한 명령어들이 순서대로 기술되어 있다. Dockerfile을 이용하지 않고 도커 이미지를 만들 수 있는 방법.. 2024. 2. 5.
배포 자동화에 들어가기 앞서 - 리눅스 기본 명령어, aws EC2 초기 설정 리눅스 기본 명령어 리눅스는 최상위 유저를 CLI환경에서 #으로 표시, 일반 유저를 $로 표시함 명령어에 대한 도움말은 --help 또는 -h를 명령어 뒤에 붙여서 확일할 수 있음 구분 명령어 설명 비고 시스템 관련 uname - 시스템의 모든 정보를 확인 - 시스템 이름, 사용 중인 운영체제와 버전, 호스트명, 하드웨어 정보 등 cat 파일의 내용을 화면에 출력 파일 처리 ls 현재 디렉터리 내 파일 및 폴더들의 목록을 표시 pwd - print working directory의 약자 - 현재 작업중인 디렉토리의 절대 경로를 출력 rm 파일 삭제 cp 파일 복사 cpio 파일을 복사하고 압축 mv 파일 이동 프로세스 ps 현재 실행되고 있는 프로세스 목록 출력 pmap 프로세스ID를 기준으로 메모리 맵.. 2024. 1. 11.
배포 자동화에 들어가기 앞서 - CI/CD, docker hub, docker compose 지속적 통합(Continuous Integration, CI) 코드 통합을 위한 단계의 자동화 CI 장점 코드 통합을 위한 단계들의 중복을 최소화함으로서 개발 생산성 향상 주기적인 실행으로인해 문제점을 빠르게 발견 → 버그 수정 용이 ⇒ 코드의 퀄리티 향상 도출 자동 빌드 CI는 새로운 코드 변경 사항이나 커밋이 이루어질 때 자동으로 빌드 프로세스를 실행 → 소스 코드를 컴파일하고 필요한 실행 파일 또는 라이브러리를 생성하는 것을 의미 자동 테스트 빌드 후 정의된 테스트 스위트*를 실행하여 코드 변경이 이전 코드와 호환되며 예상대로 작동하는지 확인 주기적인 실행 CI는 코드 변경이 이루어질 때마다 주기적으로 실행됨 → 빠르게 피드백을 받고 문제를 빠르게 감지하고 수정할 수 있도록 도와줌 버전 관리 시스템.. 2024. 1. 2.
배포 자동화에 들어가기 앞서 - Docker mysql container 생성, IDE에 docker DB container 연동 docker 기본 명령어 docker pull [image name]:[tag(option)] - 도커 이미지 다운로드 - 태그 없을경우 최근 버전으로 다운로드됨 (latest) docker images 도커 이미지 목록 docker ps - 도커 컨테이너 실행중인 목록 출력 - ps → process status의 줄임말 docker ps -a 도커 컨테이너 실행중인 + 종료된 목록 출력 docker create [container name] 도커 컨테이너 생성(only create) → -d 옵션을 사용할 수 없음 docker start [container name or container id] 도커 컨테이너 실행(only start) docker run [container name] 도커 컨테이너 .. 2023. 12. 27.
배포 자동화에 들어가기 앞서 - Docker 기초 도커 서버 환경이 계속해서 바뀜에 따라 DB와 같이 안전해야 할 서버들이 문제가 생기는 경우가 많았다. 그러한 이유로 도입된 개념이 도커이다. 컨테이너 기반의 오픈소스 가상화 플랫폼 컨테이너는 격리된 공간에서 프로세스가 동작하는 기술 호스트형 가상화 방식: OS를 가상화 하는 방식, 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없음 게스트 OS : 호스트형 가상화 방식에비해 성능이 향상되었으나 추가적인OS를 설치하여 가상화 하는 방법이므로 마찬가지로 성능 문제가 있음 프로세스를 격리하는 방식: 단순히 프로세스를 격리하므로 가볍고 빠르게 동작함 → 리눅스 컨테이너 기술 이미지 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것 상태값을 가지지않고 변하지 않음 컨테이너는 이미지를.. 2023. 12. 27.
반응형