목차
개요
도커 공식홈페이지에서 지원해주는 get_started Tutorial 파일을 가지고 도커를 다뤄보자!
본 포스팅은 아래의 도커 공홈에서 지원해주는 튜토리얼을 토대로 포스팅하였음
https://docs.docker.com/get-started/
도커 컨테이너화를 위한 Dockerfile 작성
본 튜토리얼에서 제공해주는 프로젝트를 원하는 파일에 git clone 하여 가져온다.
https://github.com/docker/getting-started/tree/master
git clone https://github.com/docker/getting-started.git
먼저 터미널에서 app 폴더의 위치로 이동하여 준다.
cd /path/to/app
다음에 그 위치에 Dockerfile 이름을 가진 파일을 하나 생성시켜준다.
touch Dockerfile
다음에 Vscode나 자신이 쓰는 Code editor로 자신이 원하는 종류의 instruction을 선택하여 수정하여준다.
(본 튜토리얼에서는 node를 이용한 도커 컨테이너 형성을 하였다.
# syntax=docker/dockerfile:1
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000
도커 컨테이너화 하기
터미널에서 Dockerfile 이 위치하고있는 디렉토리 /app 내로 이동을 한다.
cd /path/to/app
이후 도커 컨테이너 이미지를 아래의 명령어를 통하여 만들어준다.
docker build -t getting-started .
이때 우리가 적었던 FROM~ platform 에 적힌 환경을 기반으로 한 이미지 레이어 작성이 시작된다. 만일 위에 적힌 환경이 로컬에 설치되어있지 않은 경우에는 다운로드를 하여야한다.
이후에 이미지가 다운이 되고 나면 yarn을 통해 의존성을 관리하고 이미지를 통해 컨테이너를 시작한다.
-t 옵션으로 이미지에 tag를 추가하는 옵션을 달아주고 getting-started 라는 이름으로 이미지가 저장이 된다. 뒷쪽의 . 는 Dockerfile의 경로를 나타내고있다.
혹시나 아래처럼 첫번째 줄에서 Fail이 뜬 경우에 Dockerfile을 수정했는지 확인해보거나 터미널의 디렉토리가 app인지 확인해보자.
도커 컨테이너 실행해보기
터미널에 아래와 같은 명령어를 입력하게 된다면 :3000 포트를 이용하여 도커가 실행이 된다.
docker run -dp 3000:3000 getting-started
옵션에서의 -d는 detached 모드로 백그라운드에서 실행이 되게 하는 것이고 -p는 호스트의 port와 도커 컨테이너의 port 를 3000으로 맵핑해주는 것이다. 이 맵핑이 없이는 우리가 도커 실행을 한다고 해도 접근할수 없을 것이다.
이후에 http://localhost:3000/ 에 접속하여보면 튜토리얼에서 만들어져 있는 Todo app 이 열리는 것을 확인 할수있다.
마무리
다음 포스팅에서는 도커가 가진 소스 코드를 업데이트해보고 도커 이미지를 수정해보고 컨테이너의 배포 중지와 삭제에 대해서도 포스팅 해보겠다.
'Docker' 카테고리의 다른 글
튜토리얼(3) Docker Hub를 통해서 이미지 배포, 다른 환경에서 실행 (0) | 2023.01.19 |
---|---|
튜토리얼(2) 도커 이미지 업데이트, 도커 배포 삭제 (0) | 2023.01.17 |
튜토리얼(0) Ubuntu 환경에 도커 설치하기 (0) | 2023.01.09 |
[ERROR해결] Cannot connect to the Docker daemon at unix:///var/run/docker.sock (0) | 2023.01.09 |
Docker : 공부를 시작하면서 (0) | 2023.01.09 |