[따배도] 6-2.Container 사용하기 (실습)

( 참고 : 따배도 https://www.youtube.com/watch?v=NLUugLQ8unM&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi )


Contents

  1. Container Image 관리 명령어
  2. Container 실행 및 운영
  3. Container 종료


Q1. Container Image 관리 명령어

nginx라는 webserver를 검색/실행/접속/확인/종료 등을 수행할 것이다

( guru 사용자로 접속 )

docker search nginx
  • nginx를 키워드로 하는 컨테이너 목록을 확인한다

figure2


docker pull nginx:1.14
docker pull mysql
  • 1.14버전의 nginx를 다운로드 받는다
  • 가장 최신버전의 mysql를 다운로드 받는다

figure2


docker images
  • 다운받은 container 이미지들을 확인한다

figure2


docker images --no-trunc
  • IMAGE ID를 full name으로 표시해준다

figure2


Q2. Container 실행 및 운영

docker ps -a
  • 모든 컨테이너를 확인한다

figure2


docker create --name webserver nginx:1.14
  • latest 버전이 아닌 경우 태그를 생략해서는 안된다
  • 컨테이너로 만들어지는 것일 뿐, run이 되는 것은 아니다

figure2


docker start webserver
  • webserver 컨테이너를 동작시킨다.

figure2


docker inspect webserver
  • webserver 컨테이너의 세부 정보를 확인할 수 있다
    • 어떠한 layer들이 있는지 확인할 수 있다.
    • 할당 받은 IP address도 확인할 수 있다

figure2


docker inspect --format '' webserver
  • 특정 세부정보만 골라서 확인할 수 있다

figure2


alias cip="docker inspect --format '' "

cip webserver
  • alias를 사용해서 명령어를 등록하여 사용할 수 도 있다.

figure2


curl 172.17.0.3
  • IP Address를 기반으로 접속해보기

figure2


docker logs webserver
  • webserver 가 생성해내는 로그들을 확인한다

figure2


docker top webserver
  • webserver 상에서 실행되고 있는 프로세스들을 확인한다

figure2


docker exec -it webserver /bin/bash

동작중인 컨테이너 상에서도 웹페이지 변경이 가능하다

그러기 위해 우선 위 명령어로 nginx 웹서버에 접속을 한다

  • -it :
    • i : interactive
    • t : terminal


( 컨테이너 안에 들어가서 웹 문서 변경 중… )

cd /usr/share/nginx/html/
echo "seunghan's HOMEPAGE" > index.html
exit

figure2


curl 172.17.03

figure2


Q3. Container 종료

docker stop webserver
  • 동작 중인 webserver 컨테이너를 stop 한다
docker start webserver
  • 중단된 webserver 컨테이너를 다시 시행한다
docker rm webserver
  • running 중인 container는 삭제할 수 없다!

figure2


docker rm -f webserver
  • 강제 종료! stop시킨 이후 삭제까지 한번에!