2022-05-25(수) TIL

황인호·2022년 6월 7일
0

TIL 모음

목록 보기
60/119

오늘 해야할일들

  • mypage api 수정 및 보완하기 [완료]

  • mypage api 확인 및 수정하기 [완료]

  • docker 강의 듣기 20개 [17개 완료]

  • docker 강의듣고 공부하기

    Dockerfile 에서 COPY . . 라는 내용이있다

    해당 내용에서 첫번째 “.” 는 이 프로젝트의 모든 폴더,하위 폴더 및 파일을 복사해야한다고 도커한테 알리는 내용

    두번째 “.”는 그파일을 저장해야하는 이미지 내부의 경로입니다. 또는 작업 디렉토리를 나타낸다.

    첫번째 “.” ⇒ Host file system

    두번째 “.” ⇒ Image/ container file system

    그리고 COPY package.json .

    ⇒ 해당 프로젝트 작업의 애플리케이션의 종속성을 포함한 내용을 작업디렉토리 파일에 복사한다.

    RUN npm install ⇒ package.json 에 언급된 모든 종속성을 설치합니다.

    도커 이미지 생성 명령어

    ⇒ docker build .

    도커 이미지 삭제 명령어

    ⇒ docker rmi -f [이미지 ID]

    도커 이미지 컨테이너 실행 명령어

    ⇒ docker run -p 3000:3000 [docker ID]

    EXPOSE & 약간의 유틸리티 기능

    지난 강의에서는 포트(포트 80)를 노출하는 컨테이너로 시작했습니다.

    결국 Dockerfile 의 EXPOSE 80은 선택 사항이라는 점을 다시 한 번 명확히 하고 싶습니다.

    그것은 컨테이너의 프로세스가 이 포트를 노출할것임을 문서화하는 겁니다.

    하지만 docker run을 실행할때 -p를 사용하여 실제로 포트를 노출해야합니다.

    따라서 기술적으로는 -p는 포트에서 수신 대기할 때 유일하게 필요한 부분입니다.

    하지만 Dockerfile에 EXPOSE를 추가하여 이 동작을 문서화하는 것이 모범적인 사용법입니다.

    추가 참고 사항 : ID를 사용할 수 있는 모든 docker 명령의 경우, 항상 전체 ID를 복사/기록할 필요는 없습니다.

    첫번째(몇 개)문자를 사용할 수도 있습니다. 고유 식별자를 갖는 것만으로도 충분합니다.

    그래서

    ⇒ docker run abcdefg

    이 명령 대신

    ⇒ docker run abc

    이 명령을 실행할 수도 있습니다.

    또는 a 로 시작하는 다른 이미지 ID가 없으면, 다음과 같은 명령을 실행할 수도 있습니다.

    ⇒ docker run a

    이는 ID를 필요로 하는 모든 Docker 명령어에 적용됩니다.

  • docker 강의 문제풀이

    1번 ‘image’란 무엇인가요??(docker로 작업할 때)

    ⇒ 이미지는 읽기/쓰기 액세스 권한이 있는 인스턴스를 실행하는 컨테이너의 ‘블루 프린트’입니다.

    2번 ‘image’와 ‘container’가 있는 이유는 무엇일까?

    container 만으로는 왜 안될까?

    ⇒ 이 개념을 통해, 여러 컨테이너가 서로 간섭하지 않고 동일한 이미지를 기반으로 할 수 있습니다.

    3번 ‘container’와 관련하여 격리는 무엇을 의미하나요?

    ⇒ container는 서로 분리되어 있으며, 디폴트로 공유 데이터나 상태가 없습니다.

    4번 ‘container’란 무엇일까요?

    ⇒ 이미지를 기반으로 하는 격리된 소프트웨어 유닛입니다.

    이미지의 실행 중인 인스턴스 입니다.

    5번 이미지의 내부 내용(context)에서 레이어란 무엇인가요?

    ⇒ 이미지의 모든 명령은 캐시 가능한 레이어를 생성합니다.

    레이어는 이미지 재구축 및 공유를 돕습니다.

    6번 docker build . ← 이 명령은 무엇을 하나요?

    ⇒ 이미지를 구축합니다.

    7번 docker run node ← 이 명령은 무엇을 하나요?

    ⇒ ‘node’ 이미지를 기반으로 컨테이너를 만들어 실행합니다.

  • docker 강의 계속듣는중…

    • 이미 실행 중인 컨테이너 연결하기

      디폴트로 -d 없이 컨테이너를 실행하면 “attached모드”로 실행됩니다.

      detached 모드(예:-d)로 컨테이너를 시작한 경우에는 다음 명령을 사용하여 컨테이너를 다시 시작하지 않고도 컨테이너에 연결할 수 있습니다.

      해당 명령어 : docker attach CONTAINER

      이는 CONTAINER라는 ID 또는 이름으로 실행 중인 컨테이너에 연결합니다.

profile
성장중인 백엔드 개발자!!

0개의 댓글