Using Node(2)

Run Containers

Overview

컨테이너는 host 와는 격리된 자기 자신만의 파일시스템, 네트워크 프로세스를 가지고 있다. 저번 시간에 이어서 이미지를 실행 보도록 한다,

1
$ docker run node-docker

하지만 이렇게 하면 요청이 거부 된다는 결과만 나온다. 이유는 docker 컨테이너는 host 와 격리되어 있기 때문이다. 따라서 포트를 매핑 시켜야 제대로 실행시킬 수 있다.

1
$ docker run --publish 8080:8080 node-docker

-p 로 축약해서 사용 가능하다.

Run in detached mode

detached모드로 백그라운드에서 실행시킬수도 있다.

1
$ ocker run -d -p 8080:8080 node-docker

-d 와 -p 옵션을 합쳐서 -dp로 사용 가능하다.

List containers

현제 실행되고 컨테이너 갯수와 어떤 컨네이너가 실행되어 있는지는 docker ps 로 확인할 수 있다.

docker stop 으로 컨테이너 id 나 이름을 주어서 컨테이너를 종료시킬 수 있다.

Stop, start, and name containers

docker ps 에 기본값은 실행중인 컨테이너를 보여주는 것이다. docker ps -a 플래그를 넣어주면 모든 컨테이너 상태를 볼 수 있다.

  • docker restart 에 아이디나 종료된 컨테이너의 이름을 넣어주면 도커 컨테이너를 재실행 시킬 수 있다. restart 를 실행하면 처음 실행할 때 사용했던 플래그나 커맨드를 똑같이 사용한다.

이제 컨테이너의 이름이 랜덤으로 바뀌는 이슈를 고쳐 보자. 컨테이너 이미지를 기본적으로 실행하면 랜덤한 이름이 정해진다.

기존에 실행해서 랜덤하게 생성되었던 컨테이너를 지운다.

  • docker rm <컨테이너 이름>

여러 이름을 한꺼번에 넣을 수 도 있다.

이제 컨테이너의 이름을 랜덤이 아닌 정해진 것으로 설정해 보자. 개발할때 변수에 이름을 짖는것처럼 식별하기 쉽고 읽기 쉽게 정하는 것이 좋다. 이름을 설정하기 위해서는 단순히 —name 플래그를 더해주기만 하면 된다.

1
$ docker run -dp 8080:8080 --name naver-api node-docker