FROM node:16
FROM
: 베이스 이미지WORKDIR /server
COPY [<src>, <dest>]
src
: 이미지에 복사해서 넣을 파일dest
: 파일을 복사할 위치COPY . .
로 모든 파일들을 이미지에 넣어줘야 한다.CMD ["node", "app.js"]
docker build -t repo/imageName .
Dockerfile
과 context
를 사용해서 이미지를 빌드한다.PATH | URL | -
세 가지 중 무엇으로 이미지를 만들건지 고를 수 있는데, context
를 어디서 찾을지 지정해주는 역할을 한다-t
: name:tag 지정, 태그는 미지정시 자동으로 lastest
--platform amd64
를 줘서 플랫폼을 맞춰줘야 macOS → linux 실행 시 오류가 나지 않는다DockerHub나 GCR 등 도커 이미지 레포지터리에 이미지를 올리고, 이미지를 받을 수 있다.
docker push repo/imageName
docker pull repo/imageName
latest
인 이미지를 가져온다Docker 이미지를 통해 컨테이너를 새로 만들고 싶은 서버에 들어가서 명령어를 입력하면 된다.
docker run -d -p 5000:5000 repo/imageName
-p
: 열어줄 port 넘버를 설정한다.-d
: 컨테이너가 백그라운드에서 실행되고 실행된 컨테이너의 ID를 출력하게 해준다.