본문 바로가기

백엔드

닥커?

반응형

애플리케이션이 글로벌 환경에서 작동하기 위해서는 버전, 설정 등 기본적인 구성이 일치해야 하는데요 닥터는 애플리케이션 작동에 필요한 구성요소를 패키지로 묶어 추가 설정 없이 작동하게 해 줍니다. 닥커는 독립된 가상의 환경에서 작동한 다는 점에서 버츄얼머신과 비슷하지만 컨테이너 단위로 작동하기 때문에 버츄얼머신에 비해 사이즈가 작고 속도가 빠른 장점을 가집니다.

작동방법

닥커 파일을 통해 애플리케이션 구동에 필요한 지시서를 만들고 이를 통해 해당 애플리케이션을 패키지화하여 이미지로 저장합니다. 생생된 이미지는 구동에 필요한 모든 요소를 담고 있어 추가 구성없이 해당 이미지 컨테이너만 있으면 어떤 환경에서도 애플리케이션 구동이 가능하게 됩니다

설치하기

닥커 홈페이지로 이동하면 오퍼레이팅 시스템에 따라 자동으로 설치할 프로그램이 활성화됩니다. 다운로드 버튼을 눌러 '닥커 데스크톱'을 다운로드합니다. 다운로드가 완료되면 인스톨러를 실행합니다

설치가 완료되면 컴퓨터를 다시 시작합니다

재 부팅이 완료되면 아래처럼 서비스 동의 팝업이 뜨는 데 (뜨지 않는 경우 닥커 데스크 탑을 직접 엽니다), 이에 동의하면 사용준비가 완료됩니다.

설치 확인하기

커맨드라인을 열고 아래 명령어를 실행했을 때 아래와 같이 서버가 작동하고 있다면 정상적으로 설치가 완료된 것입니다

docker version

닥커 만들기

닥커 설치가 완료되면 폴더를 만들고 편집기를 열어 자바스크립트 파일을 생성합니다. 예시를 위해 생성된 파일에 아래와 같이 메시지를 표시하는 커맨드를 넣었습니다

연장자 없이 'Dockerfile'이라는 파일을 추가하고 (비주얼 스튜디오 코드의 경우 닥커 확장프로그램 설치할지 물어보는 데 'yes'를 선택합니다)

Dockerfile

해당 애플리케이션이 구동하는 데 필요한 정보를  기록합니다. 닥커는 각 언어마다 만들어진 기본 이미지가 존재하는데 먼저 해당 이미지를 지정합니다

FROM baseImage

설정된 이미지 목록은 여기 확인 가능합니다

보이는 것처럼 노드제이에스의 경우 node:<version> 형식으로 구성됩니다.


다음으로 이미지를 저장할 폴더를 지정합니다

COPY <from> <to>

(선택) 구동될 앱이 저장된 경로를 지정합니다. 예를 들어 위에서 저장될 폴더를 '/app'으로 지정한 경우 경로는 '/app'으로 지정합니다 (해당 코드는 옵션이며 지정하지 않을 경우 구동명령어 코드에서 전체 경로로 지정해 주어야 합니다)

WORKDIR <path>

마지막으로 앱을 구동할 명령어를 지정합니다

CMD <command>

 

완성된 지시서는 아래와 같습니다

FROM node:alpine
COPY . /app
WORKDIR /app
CMD node app.js

닥커 빌드

설정이 완료되면 아래 명령어를 실행해서 닥커를 생성합니다

docker build -t <tagName> <location>

'tagName'은 나중에 닥커를 실행할 때 사용되고 'location' 닥커파일이 저장된 위치를 의미합니다. 현재 예시에서 닥커파일은 루트에 위치하므로 현재 위치로 지정하고 실행해 보겠습니다. 

docker build -t init .

닥커 실행

닥커 실행은 아래 명령어를 통해서 합니다

docker run <tagName>

닥커를 만들 때 지정한 이름과 함께 실행하면

docker run init

아래처럼 애플리케이션이 작동하는 것을 확인가능합니다


생성된 닥커 이미지 목록 보기

생성된 닥커 이미지는 아래 명령어들을 통해 확인가능합니다

docker images
docker image ls


이상으로 닥커에 대해서 알아보았습니다

참고

Docker overview

 

Docker overview

 

docs.docker.com

 

728x90
반응형

'백엔드' 카테고리의 다른 글

웹 3 프로젝트 배포  (0) 2023.03.01
인터넷 컴퓨터 (웹 3) 애플리케이션  (2) 2023.02.26
WSL 설치하기  (0) 2023.02.26