오늘 공부한 내용

  • 코드카타 2문제
  • 면접대비 2문항 공부
  • 마지막 프로젝트 / CI/CD 구현을 위한 도커 수정

 

새로 알게된점

도커 

- 리눅스 컨테이너에 리눅스 어플리케이션을 프로세스 격리 기술을 사용하여 더쉽게 컨테이너로 실행하고 관리할 수 있게 해주는 오픈소스 프로젝트

 

도커의 구성요소로는 크네 도커파일, 도커이미지, 도커컨테이너 로 이루어져 있는데 

위 순서 대로 도커 컨테이너가 생성이 된다.

Dockerfile을 작성하고 빌드하여 도커 이미지를 생성한 후, docker run 명령을 통해 컨테이너를 실행할 수 있습니다. 이를 통해 도커 컨테이너를 생성하고 실행하여 개발 및 운영 환경을 구축할 수 있다.

 

  • 도커파일 : 컨테이너 내부에 설치할 소프트웨어, 설정값, 실행 명령 등을 명시하는 스크립트 형태의 파일

도커파일은 다음과 같은 구조로 작성 된다.

FROM base_image     	// 베이스 이미지 선택
WORKDIR / app			// 작업 디렉토리 설정
COPY source destination	// 파일복사
RUN command				// 명령실행
ENY var iable value		// 환경변수 설정
EXPOSE port				// 포트개방
CMD [""executable]		// 실행할 명령 지정 

 

 

  • 도커 이미지 : 컨테이너를 생성할 때 필요항 요소, 가상 머신을 생성할때 사용하는 iso파일과 비슷한 개념
    • 저장소 이름 : 이미지가 저장된 장소
    • 이미지 이름 : 해당 이미지가 어떤 역할을 하는지 나타내며 필수로 설정해야함. ex) ubuntu:lastest -> 우분투 컨테이너를 생성하기 위한 이미지라는걸 나타냄
    • 태그 : 이미지의 버젼을 나타냄. 태그를 생략하면 도커엔진은 latest로 인식함.
  • 도커 컨테이너 : 가상화된 공간을 생성하기 위해 리눅스 자체 기능인 chroot, 네임스페이스, cgroip을 사용하여 프로세스 단위의 격리 환경을 만들어낸 공간

 

  • 도커를 사용하는 이유
    1. 성능손실이 거의 없다. / 가상공간 생성시 리눅스 자체기능을 사용하여 프로세스 단위의 격리 환경 생성
    2. 용량이 작다. / 가상 머신과 달리 커널을 공유, 컨테이너에는 라이브러리 및 실행파일 만 존재
    3. 배포하는 시간이 가상머신에 비해 빠름, 사용할때 성능손실 거의없음 / 컨테이너를 이미지로 만들었을때

 

어려웠던 내용

  • 도커 내에 들어갈 설정을 잘 구분하지 못해서 작성에 어려움을 느꼇다.

 

 

오늘의 느낀점

오늘 드디어 도커 컨테이너 까지 작성후 어제 작성했던 github actions에 적용하여 배포에 성공하였다.

저번주 부터 주말동안 계속 작성하고 오류나면서 막현던 부분을 박성원 튜더님에게 끈질기게 달라붙어서 해낸 끝에 얻어낸 결과라서 너무 기분 좋았다

주요 작성과 운용은 은채님이 하셨지만 옆에서 최대한 같이 구글링하면서 같이 며칠을 밤새며 간신히 해낸것이다보니 더욱 뿌듯하다.

여태까지 배운것을 바탕으로 남한테도 잘 알려줄수 있게 따로 정리해보아야 겠다.

 

+ Recent posts