STUDY/Data Engineering

[인프런] 왕초보도 따라하는 도커 기초 (2)

wonpick 2023. 3. 30. 07:09
  • 리눅스(네이티브 가능) 위에 설치하지 않고 윈도우/맥에 도커 설치 할 경우 가상머신 위에서 동작하게 된다.

 

3 내가 원하는 이미지 찾기


3.1 도커 레지스트리

도커 레지스트리에는 사용자가 사용할 수 있도록 데이터베이스를 통해 Image를 제공해주고 있음

누구나 이미지를 만들어 푸시할 수 있으며 푸시된 이미지는 다른 사람들에게 공유 가능

 

이미지는 static한 상태로서 실행이 될 수 없다. 실행시킬려면 컨테이로 바꿔줘야 한다. 

웹 페이지를 어떻게 구성하는지 몰라도 컨테이너 애플리케이션만 실행하면 웹 페이지가 구동된다. (톰캣으로 실행해서 웹페이지 띄운다.) 

 

3.2 도커 퍼블릭 레지스트리 검색 및 확인

레지스트리를 간단하게 확인하려면

도커 서치를 활용해서 원하는 이미지를 찾을 수도 있지만, https://hub.docker.com/ 참고 권장한다.

 

경로가 앞에 있는 경우 일반 사용자가 올린거고 이름만 있으면 오피셜 버전임

docker pull 풀링하고싶은 이미지 
docker images #하면 어떤 이미지 다운받았는지 확인 가능

 

4 도커 라이프 사이클 이해하기


도커의 생애주기 (어떻게 만들어지고 실행되고 파기되는지)

  • registry pull로 이미지 생성 (풀링 된 이미지 실행하려면 반드시 컨테이너가 필요함 create명령어 사용)
  • 컨테이너(create 명령어로 생성됨)를 메모리 띄워서 애플리케이션 안에 동작하게 하려면 start하면 됨
  • run이라는 명령어로 실행하면 pull, create,start 다 해줌 (풀링이 되어있는 이미지는 pull을 안함)
    • run을 2번하면 컨테이너가 2번 생김. -> 불필요한 컨테이너가 계속 만들어질 수 있다. 
    • run은 반드시 create가 필요할 때만 실행하자.
  • 3개를 중지하고 싶으면 stop하면됨 컨테이너 중지 , 삭제는 RM, 이미지 삭제는 RMI 이다. 
  • 쓰고 있던 윈도우 이런 파일들을 이미지로 다시 만들고 싶으면 COMMIT 
    • COMMIT: 기존 컨테이너를 다시 이미지화 시킬 수 있는 명령어
  • push 명령어 실행하려면 권한이 있어야함. 

 

5 도커 라이프 사이클 명령어 실습


#도커 이미지 다운로드와 삭제
udo docker pull consol/tomcat-7.0 
sudo docker rmi consol/tomcat-7.0 #rmi 이미지 삭제 

#톰캣 컨테이너 생성 
sudo docker run -d --name tc consol/tomcat-7.0 # 톰캣 생성 및 실행
#백그라운드로 돌리기 위해 -d 옵션 쓰고 --name로 컨테이너 이름 부여 가능

#실행중인 컨테이너 확인
sudo docker ps #프로세스 보는 명령어 
CONTAINER ID   IMAGE               COMMAND                  CREATED              STATUS              PORTS                NAMES
b31390f715c2   consol/tomcat-7.0   "/bin/sh -c /opt/tom…"   About a minute ago   Up About a minute   8080/tcp, 8778/tcp   tc

#모든 컨테이너 확인
sudo docker ps -a # 모든 컨테이너 확인
#ps는 실행중인 애들만 나와서 중지된 컨테이너까지 확인하고 싶으면 -a옵션 부여 

#컨테이너 중지/삭제
sudo docker stop f6e513b399a6 # 컨테이너 실행 중지
sudo docker rm f6e513b399a6 # 컨테이너 삭제 (삭제는 중지가 된 상태에서만 가능하다.)