도커 플랫폼
앱 다운로드
- 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