본문 바로가기
반응형

도커8

[Docker] 이미지로 컨테이너 만들기 도커에서 이미지가 어떻게 컨테이너를 생성하고 컨테이너에서 어떻게 프로그램을 실행하는지 알아보자. 도커는 이미지를 이용해서 컨테이너를 생성한다. 이미지는 응용 프로그램을 실행하는데 필요한 모든 것을 포함하고 있다. 그 필요한 것을 말해보자면 먼저 컨테이너가 시작 될 때 실행되는 명령어가 있어야 한다. 해당 컨테이너 안에서 그 프로그램을 실행하는 거기 때문에 컨테이너가 시작할 때 실행 될 명령어가 있어야 된다. 그리고 파일 스냅샷이 있어야 한다. 컨테이너 안에서 해당 프로그램을 실행 할 때 그 파일이 당연히 필요하다. 따라서 해당 프로그램을 실행하는데 필요한 파일(스냅샷)이 필요하다. 즉 명령어와 파일 스냅샷 두 가지를 가지고 있어야 한다. 그 다음에 이미지로 컨테이너를 만드는 과정을 살펴보자 저번 포스팅 .. 2023. 12. 20.
[Docker] 도커 흐름 살펴보기 도커를 사용할 때의 흐름을 보자면 먼저 도커 CLI에 커맨드를 입력한다. 그러면 도커 서버 (도커 Daemon)이 그 커맨드를 받아서 그것에 따라 이미지를 생성하든 컨테이너를 실행하든 모든 작업을 하게 된다. CLI에서 커맨드를 입력해보자. 먼저 도커 데스크탑 앱을 켜야한다. 안그러면 저런 에러가 난다. 데스크탑 앱을 키면 이런 식으로 뜬다. 다시 실행해보면 방금 명령어로 hello-world라는 이미지를 실행했다. 만약 로컬에 받아놓은 이미지가 없다면 이미지를 찾을 수 없다는 메세지가 뜨면서 헬로월드라는 이미지를 어딘가에서 pulling 해와서 실행하게 된다. 나는 기존에 받아 놓은 이미지가 있었기 때문에 바로 실행이 되었다. 즉 우리가 도커 클라이언트에서 입력한 명령어는 도커 서버로 전해지게 된다. .. 2023. 12. 19.
[NestJS] NestJS Docker 이미지 빌드 기존 진행하던 프로젝트를 도커로 빌드하기 위한 시도. 간단하게 이미지를 만드는거라 어렵진 않다. 먼저 프로젝트 루트 디렉토리에 도커파일을 만들어준다. D는 대문자여야 한다. 그리고 다음과 같이 입력 FROM node:20 WORKDIR /usr/src/app COPY package.json ./ RUN npm install --legacy-peer-deps COPY ./ ./ CMD ["npm","run","start:dev"] 라인 하나하나 설명하자면 제일 첫번째 줄은 베이스 이름을 명시해준다. 도커 이미지를 만들 때는 아예 아무것도 없는 상태에서 만드는게 아니라 어느 정도 기본적인 구성 요소들이 갖추어진 상태의 이미지를 토대로 만들게 되며 이를 베이스 이미지라고 한다. FROM에서 베이스 이미지를 지.. 2023. 12. 19.
[Docker] 도커란 무엇인가? 도커를 쓰는 이유를 먼저 간단하게 말하자면 어떠한 프로그램을 다운 받는 과정을 굉장히 간단하게 만들기 위해서이다. 도커 없이 프로그램을 받을 땐 installer를 다운 받고 installer를 실행해서 프로그램을 설치하게 되는데 갖고 있는 서버, 패키지 버전, 운영체제 등등에 따라 프로그램을 설치하는 과정 중에 많은 에러가 발생하게 된다. 그래서 이러한 설치과정을 단순하게 할 수 있는게 바로 도커라고 할 수 있다. Redis를 예를 들어보자면 원래 홈페이지에 가서 인스톨러를 받아서 설치를 해야한다. 하지만 도커를 사용하면 명령어 하나로 도커를 이용해 프로그램을 설치할 수 있고 이러면 예상치 못한 에러도 덜 발생하며 설치하는 과정도 훨씬 간단해졌다. 그렇다면 도커는 무엇인가? 컨테이너를 사용하여 응용프로.. 2023. 12. 19.
반응형