첫 컨테이너

김장군·2022년 12월 3일
0

Docker

목록 보기
3/6

컨테이너는 이미지 베이스이기 때문에, 첫 컨테이너를 위해 먼저 이미지를 만들도록 하겠습니다.

Dockerfile을 만들어야 합니다. 아래는 하나의 example입니다.

FROM node:14

WORKDIR /app

COPY package.json .

RUN npm install

COPY . .

EXPOSE 3000

CMD [ "node", "app.mjs" ]

그리고 아래 Dockerfile 이미지를 빌드하는 커맨드를 돌려 봅시다.

docker build .

※ 빌드할 때 에러가 뜨면 Docker가 떠서 돌아가고 있는지 체크해 보세요.

이미지가 하나 만들어졌을 겁니다.

그리고 이미지의 아이디도 있을 거예요.

docker run IMG_ID

이렇게 만들어진 이미지를 돌릴 수 있습니다. (제대로 말하자면 이미지가 아니라 컨테이너를 돌리는 거긴 하지만, 지금은 넘어갑시다.)

그런데 이 이미지는 열어 둔 포트가 있으니 그 포트에 갈 수 있도록 세팅을 해 주어야 합니다.

docker run -p 3000:3000 IMG_ID

-p 옵션(publish)은 호스트 OS에서 컨테이너 포트로 이어질 수 있도록 해 줍니다.
※ 호스트 OS: VM이 있을 때 VM이 만들어진 physical OS를 가리킴. 이때 VM의 OS를 게스트 OS라 함.

docker run -p 80:8000 IMG_ID

위와 같이 되어 있다면 호스트 OS의 80 포트에서 컨테이너의 8000 포트에 갈 수 있는 것이죠.

컨테이너와 호스트 OS 사이에는 디폴트 커넥션이 없다는 것을 잊지 마세요.

docker ps

이 커맨드는 돌아가고 있는 컨테이너 리스트를 보여 줍니다.

랜덤으로 주어진 이름이 보일 거예요.

docker stop CONTAINER_NAME

위 커맨드로 돌아가고 있는 컨테이너를 멈출 수 있어요.

profile
Make impacts!

0개의 댓글