이번 챕터에서는 컨테이너 운영을 실습으로 진행해볼거야
먼저 목차를 보자!
- 목 차 -
1. 컨테이너 이미지 관리 명령어 사용하기
2. 컨테이너 실행 및 운영하기
3. 컨테이너 종료하기
자 그럼 시작하자!
== 1. 컨테이너 이미지 관리 명령어 사용하기 ==
여러가지 컨테이너 이미지를 검색해보자!
$ docker search nginx
$ docker search centos
$ docker search jenkins
검색한 이미지를 가져와볼건데 우리는 아래의 이미지들을 가져올거야!
$ docker pull nginx:1.14
$ docker pull mysql
잘 가져와졌는지 확인해보자!
$ docker images
$ docker images --no-trunc
# --no-trunc 옵션 : 컨테이너 ID를 자르지 않고 풀네임으로 출력하는 옵션
이제 가져온 컨테이너 이미지로 컨테이너를 생성해보자!
$ docker create --name webserver nginx:1.14
$ docker ps -a
컨테이너를 생성했으니 실행시켜보자!
$ docker start webserver
$ docker ps -a
동작 중인 컨테이너의 IP를 확인하기 위해 상세정보를 찾아보자!
$ docker inspect webserver
원하는 정보만 뽑아서 출력할 수도 있다
docker inspect --format '{{.NetworkSettings.IPAddress}}' webserver
워낙 커맨드가 길다보니 ALIAS(별칭)로 등록해서 사용하면 편하다
$ alias cip="docker inspect --format '{{.NetworkSettings.IPAddress}}'"
$ cip webserver
등록된 별칭들을 확인하고 싶다면
$ alias
동작 중인 nginx 컨테이너의 동작을 확인해보자
웹 서버니까 요청을 보내면 응답이 올거다
$ curl 172.17.0.3
만약 웹 서버와 통신이 안된다면
이렇게 에러가 뜬다
그럼 해당 컨테이너의 로그를 확인하자
$ docker logs webserver
이 로그를 모니터링 해보자
먼저 터미널 창을 두개로 분할하고 아래 명령어를 실행하자
# 1번 터미널
$ docker logs -f webserver
# 2번 터미널
curl 172.17.0.3
이런식으로 로그가 계속 쌓이는 것을 모니터링 할 수 있다
컨테이너 안에서 실행 중인 프로세서를 확인해보자
docker top webserver
nginx 웹 서버에 curl 커맨드로 요청을 보냈을 때, 받은 응답은 nginx의 기본 웹 페이지다
이걸 본인의 용도에 맞게 수정할 수 있는데 그러려면 일단 webserver 컨테이너에 bash 쉘이 있어야 연결 할 수 있다
$ docker exec -it webserver /bin/bash
# -it : interactive
# -t : terminal
이제 웹 서버의 웹 문서를 가져오자
(nginx는 데비안 기반이다)
$ cd /usr/share/nginx/html
$ ls
$ echo "This is AAROH's HOMEPAGE" > index.html
$ cat index.html
$ exit
$ curl 172.17.0.3
그럼 이제 컨테이너를 종료해보자
$ docker stop webserver
종료시킨 컨테이너를 삭제해보자
$ docker rm webserver
컨테이너가 Running 중이면 docker rm 명령으로 삭제할 수 없다
반드시 docker stop 명령으로 중지시킨 후에 삭제해야 한다
이러한 번거로움을 없애기 위해 docker rm 명령에 -f 옵션을 붙이면 Running 중인 컨테이너를 강제로 중지하고 삭제한다
== 여기서 문제!! ==
* 아래 조건대로 컨테이너를 실행해보자 *
1. 아파치 웹 서버 컨테이너 이미지를 검색한 후 다운로드 하세요(search, create)
2. 다운로드한 아파치 웹 서버를 백그라운드로 실행(detach)하고, 컨테이너 이름을 web으로 동작시키세요(run)
3. 동작 중인 컨테이너 목록을 확인해서 web 컨테이너가 running 중인지 확인하세요(ps)
4. 실행 중인 web 컨테이너의 IP Address를 확인하세요(inspect)
5. curl 명령으로 접속을 시도하세요. 어떤 웹페이지가 표시되나요?
6. web 컨테이너가 만들어내는 로그를 출력하세요
7. 실행 중인 모든 컨테이너를 중지하고 삭제하세요
8. 다운로드 된 컨테이너 이미지를 삭제하세요
한 번 혼자서 해보자!!
이렇게 이번 챕터를 마치고 다음 챕터에서 만나도록 하자!
그럼 또 봐 안녕!

'Docker' 카테고리의 다른 글
Docker 톺아보기 16탄 - Docker 컨테이너 리소스 관리하기 (실습편) (0) | 2022.12.27 |
---|---|
Docker 톺아보기 15탄 - Docker 컨테이너 리소스 관리하기 (이론편) (0) | 2022.12.26 |
Docker 톺아보기 13탄 - Docker Container 사용하기 (이론편) (0) | 2022.12.20 |
Docker 톺아보기 12탄 - 컨테이너 보관창고 Registry (실습편) (0) | 2022.12.19 |
Docker 톺아보기 11탄 - 컨테이너 보관창고 Registry (이론편) (0) | 2022.12.16 |