본문 바로가기

CI | CD19

[Docker] 도커파일(Dockerfile) 작성하기 - 이론편 위 영상을 바탕으로 정리한 글입니다!   Dockerfile이란?도커 이미지를 생성하기 위한 스크립트 파일여러 키워드를 사용하여 도커 파일을 작성하여 빌드를 보다 쉽게 수행할 수 있음  Dockerfile Instruction(키워드)도커 파일에서 사용되는 주요 인스트럭션은 아래와 같음 FROMFROM 키워드를 사용하여 base가 되는 image를 지정주로 OS 이미지나 런타임 이미지를 지정함 RUN이미지를 빌드할 때 사용하는 커맨드를 설정할 때 사용 ADD이미지에 호스트의 파일이나 폴더를 추가하기 위해 사용만약 이미지에 복사하려는 디렉토리가 존재하지 않으면 docker가 자동으로 생성 COPY호스트 환경의 파일이나 폴더를 이미지 안으로 복사하기 위해 사용'ADD'와 동일하게 동작하지만 가장 확실한 차이.. 2024. 7. 10.
[Docker] 도커 컨테이너 통신하기 위 영상을 바탕으로 정리한 글입니다!   도커 컨테이너와 통신하기도커 컨테이너는 기본적으로 독립적인 환경에서 실행되기 때문에 컨테이너 밖에서 접근할 수 없음이전 포스팅에서는 -p 옵션을 통해 port를 설정하였기에 해당 port로 접근할 수 있었음-p 옵션이 없을 경우, 컨테이너에 외부와 연결할 port가 설정되어 있지 않기 때문에 해당 컨테이너에 접근하는 것이 쉽지 않음 컨테이너와 통신하기 위해서는 컨테이너를 가동시키면서 'p' 옵션을 사용하여 호스트의 포트와 컨테이너의 포트를 설정해야 함실습 환경에서의 호스트는 개인 pc (localhost)상용 환경에서는 서버가 호스트가 됨컨테이너 포트는 컨테이너가 외부와 통신하기 위해서 열리는 포트이 설정을 사용하기 위해서는 호스트(서버 또는 PC)에서 사용 중인.. 2024. 7. 10.
[Docker] 도커 커맨드 사용법 - 실습편 위 영상을 바탕으로 정리한 글입니다!   docker cmd 창을 열고 'docker'라고 입력하였을 때 나오는 화면이다.만약 이런 내용이 나오지 않는다면 환경 변수를 잡아주지 않은 것일 수 있으니 확인이 필요하다.  docker container --help  docker container ls 아직 생성한 컨테이너가 없기에 아무것도 뜨지 않는 것이 당연하다.  docker image ls 이전에 도커 강의를 들으며 redis, mysql, ubuntu를 설치하였기 때문에 리스트로 나오고 있다. 만약 아예 처음이라면 아무것도 안 뜨는 것이 당연하다.  docker container run httpd 처음이라 이미지를 다운로드(?)하는 과정이 필요했던 것 같다. -D 옵션을 넣지 않아 커서가 깜빡거리며 .. 2024. 7. 10.
[Docker] 컨테이너 구조 및 커맨드 사용법 - 이론편 위 영상을 바탕으로 정리한 글입니다!   도커 컨테이너 구조도커 컨테이너는 컨테이너 레이어(Container Layer)와 이미지 레이어(Image Layer)로 구성되어 있음 컨테이너 레이어읽기/쓰기 모두 가능한 계층으로 최상단 레이어에 추가됨컨테이너를 실행하고 진행되는 변경사항은 이 계층에 저장됨 이미지 레이어읽기 전용 계층으로 다른 컨테이너와 공유할 수 있는 레이어  컨테이너 레이어는 각기 다른 컨테이너가 공유하지 않는 계층이기 때문에 위 그림과 같이 이미지 레이어를 공유하고 각각 컨테이너 레이어를 공유함이미지 레이어를 공유하면 용량을 절약할 수 있음동일한 이미지 레이어를 사용하고 있기 때문에 동일한 퍼포먼스를 낼 수 있음  도커 명령어 구조도커의 모든 명령은 'docker'로 시작하며 어떤 대상에.. 2024. 7. 10.
[Docker] 도커 기초 위 영상을 바탕으로 정리한 글입니다!  Docker란?컨테이너 기반의 오픈소스 가상화 플랫폼어떤 프로그램을 외부 환경과 격리시켜 구동할 수 있게 해주는 소프트웨어 컨테이너란?OS 상에서 논리적인 영역(컨테이너)를 구축하고, 애플리케이션이 작동하는데 필요한 요소들을 모아 별도의 서버처럼 동작하는 것Linux 환경이 아닐 경우, Linux의 애플리케이션들을 가동하기 위한 기술 (기본을 Linux로 함)필요한 요소만으로 구성되어 있어 오버헤드가 적음 (VM과 비교) 2024. 7. 10.
[AWS] 스프링 부트 jar 빌드와 AWS EC2 배포 위 영상을 보고 따라하며 정리한 내용입니다!   Jar 파일로 생성하는 방법 IntelliJ에서 배포하고 싶은 프로젝트를 연 후, Gradle 창에서 프로젝트명 > Tasks > build 로 들어가 bootJar를 더블 클릭한다.  위 사진처럼 BUILD SUCCESSFUL이라고 뜨면 성공입니다.  해당 프로젝트를 저장한 위치로 들어가 build > libs 에 들어가면 .jar 파일이 생성되어 있습니다.Jar 파일 생성은 성공입니다.   AWS EC2에 배포하는 방법 AWS에 로그인하여 Console 창에서 EC2를 선택합니다.만약 Console 창에 뜨지 않는다면 검색하셔도 됩니다.  클릭했을 때 뜨는 Resources에서 Instances (running)을 클릭합니다.  현재 running 중인.. 2024. 7. 10.