이전 포스팅에서는 docker를 설치해보았습니다.
이번에는 설치한 docker를 이용하여 간단한 어플리 케이션을 실행해 보겠습니다.
1. 커맨드 입력
terminal 창을 열어 아래의 커맨드를 입력합니다.
docker run -d -p 80:80 docker/getting-started
아래의 화면과 같이 다양한 커맨드들이 출력이 되고 이미지를 다운로드 하였다는 결과 커맨드가 나타납니다.
2. localhost 연결
크롬을 열고 localhost 를 입력합니다.
자동으로 http://localhost/tutorial/ 로 redirection 되면서 아래와 같은 화면이 나타나는 것을 확인할 수 있습니다.
왜 이런일이 발생했을까?
시작 부분에서 docker run이라는 커맨드를 입력하였습니다.
docker run은 docker image를 이용해서 container를 실행하는 명령어입니다.
docker run 이라는 커맨드는 아래와 같이 사용할 수 있습니다.
docker run [options] {image_name} [command]
-d option : detach option (프로세스를 백그라운드로 실행)
-p hostport:내부 port : port 연결 option
docker/getting-started 이미지 사용을 하였으나, getting-started 이미지가 현재 우리 컴퓨터에 존재하지 않기 때문에
docker registry라는 환경에서 이미지를 다운로드 받아와서 도커를 실행하게 된 것입니다.
실행되고 있는 도커 컨테이너 확인
아래 커맨드를 이용하여 실행중인 프로세스를 확인합니다.
- docker ps
- docker ps -a : 멈춰있는 도커의 상태도 확인할 수 있습니다.
- CONTAINER_ID: container의 고유 ID
- IMAGE: container를 띄우는데 사용한 image 이름
- COMMAND: container에서 실행한 command (우리는 커맨드를 사용하지 않았어요)
- CREATED: conatiner가 생성된 시간
- STATUS: container의 상태 (11분 동안 실행중이다.)
- PORT: port를 publish 하는 경우 어떻게 되어 있는지
- NAMES: container의 이름 (option을 주지 않아서 도커에서 랜덤으로 조합해서 넣어줍니다.)
도커 컨테이너 멈추기, 종료
2가지 커맨드를 이용하여 도커를 멈출 수 있습니다.
- docker stop [컨테이너 id] -> SIGTERM 이라는 신호를 보냄 (프로세스를 멈춰 달라) -> 정리할 시간을 보장받을 수 있음 (일반적으로 이 커맨드를 이용합니다.)
- docker kill [컨테이너 id] -> SIGKILL 이라는 신호를 보냄 (프로세스를 삭제해달라)
멈춘 도커 컨테이너 되살리기
- docker restart [docker id]: 멈춰있는 도커를 다시 실행시킬 수 있습니다.
실행중인 도커 컨테이너에서 명령어 실행하기
- docker exec [options] {container_id|container_name} {command}
- docker exec [container_id] ls : 컨테이너 내부에 있는 폴더와 파일의 목록을 볼 수 있습니다.
- docker exec -ti [container_id] sh : 컨테이너 내에서 shell script를 사용할 수 있습니다.
- exit 커맨드를 이용하여 shell script 커맨드에서 나갈 수 있습니다
도커 컨테이너 삭제하기
- docker rm [container_id] : 도커의 컨테이너를 삭제합니다.
도커 명령어 reference는 아래에서 확인할 수 있습니다.
https://docs.docker.com/engine/reference/commandline/cli/
'강의 > docker' 카테고리의 다른 글
Flask 어플리케이션을 docker로 실행 (0) | 2022.05.01 |
---|---|
Docker 사용 (0) | 2022.05.01 |