Code States/TIL

[0412] Docker - Docker CLI

ki1111m2 2023. 4. 12. 14:45

학습 목표

  • 컨테이너 기술이 무엇인지, Docker가 왜 필요한지 알 수 있다.
  • 컨테이너와 이미지, 레지스트리가 무엇인지 이해할 수 있다.
  • 대표적인 레지스트리인 Docker Hub에서 이미지를 검색하고, 사용할 수 있다.
  • 한 개의 이미지를 이용해서 컨테이너를 구축할 수 있다.
  • 두 개 이상의 이미지를 이용해서 컨테이너를 구축하고 서로가 어떻게 연결되는 지 알 수 있다.
  • Docker CLI에서 명령어를 사용해서 이미지를 생성/수정/배포하고, 컨테이너를 생성/삭제할 수 있다.
  • Dockerfile을 이용해 이미지를 생성할 수 있다.
  • 애플리케이션을 컨테이너화할 수 있다.

  • Registry_Account/Repository_Name:Tag
    • 레지스트리
      • 도커 이미지를 관리하는 공간
      • 특별히 지정하지 않는다면 도커 허브를 기본으로 설정
    • 레포지토리
      • 레지스트리 내에 도커 이미지가 저장되는 공간
    • 태그
      • 주로 버번 정보를 입력함
      • 특별히 설정하지 않으면 latest 태그를 붙인 이미지를 가져옴
  • docker image pull 파일명
    • 레지스트리에서 이미지 혹은 레포지토리를 가져옴
  • docker image ls
    • 이미지 리스트를 출력함
  • docker image rm 이미지명
    • 이미지 삭제
  • docker container run —name 컨테이너_이름 이미지파일
    • 컨테이너에 —name의 이름을 할당하여 실행
  • docker container ps -a
    • 모든 컨테이너의 리스트를 출력함
    • -a: 종료된 컨테이너를 포함
  • docker container rm 컨테이너_이름
    • 컨테이너_이름의 컨테이너를 삭제함

httpd 웹서버 실습


  • docker container run —name httpdserver -p 818:80 httpd
    • 컨테이너 명을 httpdserver로 설정
    • 818번 포트로 실행
    • httpd 실행
  • docker container cp ./ httpdserver:/usr/local/apache2/htdocs/
    • 현 위치의 파일들을 httpdserver 컨테이너 내의 /usr/local/apache2htdocs/ 폴더로 복사함
  • 도커 이미지 만들기
    • 구동한 컨테이너를 이미지로 만드는 방법
      • docker container commit httpdserver my_pacman:1.0
        • httpdserver 컨테이너를 my_pacman:1.0 이라는 이름의 이미지로 생성
      • docker run —name my_web2 -p 900:80 my_pacman:1.0
        • my_web2 라는 컨테이너 명으로 my_pacman:1.0 이미지를 900번 포트에서 실행
    • 도커파일로 만드는 방법
      • docker build —tag my_pacman:2.0
        • 도커 파일로 도커 이미지 파일을 생성
      • docker run —name my_web3 -p 901:80 my_pacman:2.0
        • my_web3 라는 컨테이너 명으로 my_pacman:2.0 이미지를 901번 포트에서 실행

드디어 학부때부터 말만 듣고 궁금했던 도커가 시작됐다

이미지를 다운로드 받고 컨테이너를 실행하는 것까지 성공했다

어떻게 동작하는지 대충은 알거같은데.. 아직 감만 살짝? 오고 자세히는 모르겠다

좀 더 심도있게 공부해봐야겠다