- 웹 애플리케이션 실행
먼저, 웹 애플리케이션용 Docker 이미지를 다운로드합니다:
$ docker pull nginx
다운로드된 이미지를 사용해 컨테이너를 실행합니다:
$ docker run -d --name webapp -P nginx
옵션 설명:
-d: 백그라운드에서 실행-P: 컨테이너의 내부 포트를 主机의 랜덤 포트로 맵핑
- 웹 애플리케이션 컨테이너 확인
가장 최근에 실행된 컨테이너를 확인합니다:
$ docker ps -l
출력 예:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc12345678 nginx "nginx -g 'daemon" 2 minutes ago Up 2 minutes 0.0.0.0:32768->80/tcp webapp
컨테이너의 기본 웹페이지를 확인할 수 있습니다. -p 옵션을 사용해 맞춤형 포트를 할당할 수 있습니다:
$ docker run -d --name webapp2 -p 8080:80 nginx
컨테이너 상태를 확인합니다:
$ docker ps -l
출력 예:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
def56789012 nginx "nginx -g 'daemon" 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp webapp2
- 네트워크 포트 확인 방법
컨테이너의 포트 맵핑을 확인할 수 있는 방법입니다:
$ docker port webapp2
출력 예:
80/tcp -> 0.0.0.0:8080
- 컨테이너 내부 로그 확인
컨테이너의 로그를 실시간으로 확인합니다:
$ docker logs -f webapp2
출력 예:
123.45.67.89 - - [20/Dec/2018:09:10:33] "GET / HTTP/1.1" 200 612
- 컨테이너 내부 프로세스 확인
컨테이너 내부에서 실행 중인 프로세스를 확인합니다:
$ docker top webapp2
출력 예:
UID PID PPID C STIME TTY TIME CMD
root 1234 1 0 04:10 ? 00:00:00 nginx -g 'daemon off;'
- 컨테이너 세부 정보 확인
컨테이너의 상세 정보를 JSON 형식으로 확인합니다:
$ docker inspect webapp2
출력 예:
[
{
"Id": "def56789012",
"Created": "2018-12-20T09:10:33.039244936Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"StartedAt": "2018-12-20T09:10:33.400703462Z"
}
}
]
- 컨테이너 삭제
컨테이너를 삭제하기 전에 먼저 중지합니다:
$ docker stop webapp2
컨테이너를 삭제합니다:
$ docker rm webapp2