[Docker] 컨테이너화

공부기록·2024년 1월 23일
0
post-thumbnail

도커 플랫폼


앱 다운로드

  • git을 clone하여 로컬 저장소에 저장한다.
> git clone https://github.com/docker/getting-started-app.git

c:\Users{유저명}\getting-started-app 폴더 생성

앱 이미지 빌드

도커파일 생성

  • 빈 도커파일을 생성한다.
touch Dockerfile

Dockerfile에는 아래와 같이 작성한다.


FROM node:18-alpine
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000
  • yarn이란 javascript 매니저로 프로젝트 패키지의 의존성을 관리하는 툴이다.
  • CMD
    • 이미지에서 컨테이너를 시작할 때 실행할 기본 명령이다.

이미지 빌드

docker build -t getting-started .
  • docker build
    • 해당 Dockerfile을 사용하여 새 이미지를 빌드한다.
  • -t
    • 이미지에 태그를 지정하는 옵션으로 image의 이름을 지정하는 역할을 한다.
  • .
    • 현재 디렉토리에서 dockerfile을 찾아야한다는 것을 의미한다.

앱 컨테이너 시작

docker run -dp 127.0.0.1:3000:3000 getting-started
  • -d
    • detach의 줄임말
    • 백그라운드에서 컨테이너를 실행하게하는 옵션이다.
  • -p
    • publish의 줄임말로 호스트와 컨테이너 간의 포트 매핑을 생성한다.
    • HOST:CONTAINER
    • 컨테이너의 포트 3000을 호스트의 localhost:3000에 게시한다.

docker ps
  • 현재 컨테이너 시작시 -d을 설정해놓았으므로 터미널에서 컨테이너가 실행중임을 확인하는 명령어이다.

  • 해당 3000번 포트를 다시 사용하려하면 오류가 발생한다. 이는 이미 3000번 포트를 사용하는 컨테이너가 존재하기 때문이다. 그러므로 컨테이너를 제거해줘야한다.

컨테이너 제거

  • 컨테이너를 제거하기 위해선 중지를 시켜야한다.
docker stop <컨테이너 id>
docker rm <컨테이너 id>



출처 : docs.docker.com

0개의 댓글

관련 채용 정보