2022-11-17 TIL sparta

최해민·2022년 11월 17일
0

오늘 한 일(회고)

  • 강민철 튜터님의 아침퀴즈

    • Docker 기초 실습에 관한 내용이었습니다.

    • sudo docker login

      • Docker hub 가입후, 로그인하는 명령어
      • Docker hub란?
        • Docker에서 관리하는 호스팅된 Docker 레지스트리.
        • Docker images를 저장하는 저장소라고 생각하자.(Github과 유사하다)
      • sudo docker pull tegongkang/morningtest:latest
        • Docker hub에 푸쉬되어 있는 이미지를 땡겨온다.
    • Error response from daemon: Container [container_id] is not running.

      • sudo docker exec -it [container_id] /bin/bash 컨테이너 내부로 접속하는 명령어 입력시 발생했던 오류입니다.

      • container의 status가 Extied(0)인 상태였습니다.

      • docker exec명령어는 도커 컨테이너가 실행중인 상태여야 접속 가능했습니다.

      • Docker-compose를 통해 restart: always 서브명령어를 추가해서 docker compose up -d를 실행했지만, 계속 restart상태였었습니다.

      • 에러 이유는 container 내에 계속 실행시킬 프로세스가 없었기때문입니다.
        Docker Container는 명령만 실행하고 그결과만 보여주는 기능을 수행한다.

      • sudo docker run -it [IMAGE ID] [command]

        • -i : Interactive 모드로 표준입력과 표준출력을 키보드와 화면을 통해 가능하도록 하는 옵션
        • -t : 텍스트 기반의 터미널(TTY)을 에뮬레이션 해주는 옵션
        • 위와같이 에러 없이 컨테이너를 생성하고, 바로 shell이 나오고 container내에서 명령어를 입력할 수 있다.
      • 다른 방법으로는 sleep infinity를 사용할 수 있다.

      • sudo docker run -d [IMAGE ID] sleep infinity 명령어를 입력하면, 컨테이너가 종료되지 않고 계속 실행중인 상태가 된다.

        • 따라서, 강의에서 배운 sudo docker exec명령어를 사용할 수 있다.
  • Docker 어렵다..

    • Docker Container는 명령만 실행하고 그결과만 보여주는 기능을 수행한다.
    • Docker Container는 가상머신이 아니다!! 꼭 기억하자.

내일 할일

  • DRF 복습하기.
  • 알고리즘 문제 풀어보기.
profile
안녕하세요

0개의 댓글