쥐로그

쥐로그

  • 분류 전체보기 (154)
    • Algorithm (52)
    • React (11)
    • Next.js (20)
    • JavaScript (19)
    • C언어 (6)
    • Backend (18)
      • Docker (7)
      • python (7)
    • Computer Science (21)
    • 회고 (7)
  • 홈
  • LinkedIn
  • Github
Total | Today
로그인
로그아웃 글쓰기 관리

쥐로그

컨텐츠 검색

태그

KAIST 정글 git hooks SW 정글 논리합 연산자 저장소 웹훅 코드 포맷터 논리곱 연산자 SW 사관학교 단축 평가 do...while 레이블 문 코드 린터 date range picker 도커 허브 이미지 저장소 컴퓨터 시스템 옵셔널 체이닝 연산자 도커 허브에 배포하기 암묵적 타입 변환 이미지 배포 CSAPP

최근글

댓글

공지사항

아카이브

Backend/Docker(7)

  • [Docker] 효율적인 Dockerfile 작성하기, 작성 시 주의사항

    Good 👍 하나의 명령어를 \로 나눠서 가독성을 높인다. .dockerignore 파일을 작성해 불필요한 파일을 빌드 컨텍스트에 포함하지 않는다. 빌드 캐시를 이용해 기존에 사용했던 이미지 레이어를 재사용한다. &&로 각 RUN 명령을 하나로 묶어 하나의 RUN으로 여러 개의 명령어를 실행하도록 작성한다. 여러 개의 RUN 명령어가 하나로 묶이면 이미지 레이어의 개수 또한 하나로 줄어든다. 다른 사람이 빌드한 이미지에 불필요한 이미지 레이어가 들어있다면 해당 이미지로 컨테이너를 생성하고 docker export, import 명령어를 사용해 컨테이너를 이미지로 만듦으로써 이미지의 크기를 줄인다. Bad ❌ Dockerfile을 아무렇게나 작성하면 저장 공간을 불필요하게 차지하는 이미지나 레이어가 너무 ..

    2022.11.18
  • [Docker] Dockerfile 명령어 & build 옵션

    ENV Dockerfile에서 사용될 환경변수를 지정한다. 설정한 환경변수는 ${ENV_NAME} 또는 $ENV_NAME의 형태로 사용할 수 있다. 환경변수는 Dockerfile뿐 아니라 이미지에도 저장되므로 빌드된 이미지로 컨테이너를 생성하면 이 환경변수를 사용할 수 있다. VOLUME 빌드된 이미지로 컨테이너를 생성했을 때 호스트와 공유할 컨테이너 내부의 디렉터리를 설정한다. ARG build 명령어를 실행할 때 추가로 입력받아 Dockerfile 내에서 사용될 변수의 값을 설정한다. build 명령어를 실행할 때 --build-arg 옵션을 사용해 값을 입력한다. Dockerfile에서 ARG로 설정한 변수를 ENV에서 같은 이름으로 다시 정의하면 --build-arg 옵션으로 설정한 값은 ENV로..

    2022.11.18
  • [Docker] 멀티 스테이지 빌드로 이미지 크기 줄이기

    🧐 Multi-stage build가 필요한 이유 일반적으로 애플리케이션을 빌드할 때는 많은 의존성 패키지와 라이브러리를 필요로 한다. 특정 언어로 작성된 소스코드를 빌드하기 위해서는 관련 빌드 툴과 라이브러리가 필요할 수 있다. Dockerfile로 이러한 코드를 빌드하기 위해서는 관련 도구들이 미리 설치된 이미지를 FROM에 명시하고 RUN 명령어로 소스코드를 컴파일 하게 되는데, 실행 파일의 크기가 매우 작더라도 이에 사용된 각종 패키지 및 라이브러리로 인해 이미지의 크기가 거대해질 수 있다. 17.05 버전 이상을 사용하는 도커 엔진은 이미지의 크기를 줄이기 위해 멀티 스테이지 빌드 방법을 사용할 수 있다. Multi-stage build 하나의 Dockerfile 안에 여러 개의 FROM 이미지..

    2022.11.18
  • [Docker] Dockerfile로 이미지 생성하기

    도커는 개발한 애플리케이션을 컨테이너화하는 일련의 과정(컨테이너 생성, 환경 설치, 소스코드 추가, 이미지로 커밋 등)을 손쉽게 기록하고 수행할 수 있는 빌드(build) 명령어를 제공한다. 1. Dockerfile 이미지를 생성하기 위해 컨테이너에 설치해야 하는 패키지, 추가해야 하는 소스코드, 실행해야 하는 명령어와 셸 스크립트 등을 하나의 파일에 기록해 두면 도커는 이 파일을 읽어 컨테이너에서 작업을 수행한 뒤 이미지로 만들어낸다. 👉🏻 이러한 작업을 기록한 파일의 이름을 Dockerfile이라고 부른다. 빌드 명령어는 Dockerfile을 읽어 이미지를 생성한다. Dockerfile을 사용하면 직접 컨테이너를 생성하고 이미지로 커밋해야 하는 번거로움을 덜 수 있다. 생성한 이미지를 도커 허브 등을..

    2022.11.15
  • [Docker] 도커 허브 저장소에 이미지 배포하기

    도커 이미지를 생성하고 추출하기 도커 허브 저장소에 이미지 배포하기 [Backend/Docker] - 도커 이미지를 생성하고 추출하기 이미지 배포 save, export와 같은 방법의 단점 save나 export와 같은 방법으로 이미지를 단일 파일로 추출해서 배 e-juhee.tistory.com 이미지 배포 save, export와 같은 방법의 단점 save나 export와 같은 방법으로 이미지를 단일 파일로 추출해서 배포할 수도 있지만 이미지 파일의 크기가 너무 크거나 도커 엔진의 수가 많다면 이미지를 파일로 배포하기 어렵다. 또한, 도커의 이미지 구조인 레이어 형태를 이용하지 않으므로 매우 비효율적이다. 도커 허브 이미지 저장소 도커 허브는 도커 이미지를 저장하기 위한 클라우드 서비스이다. 만든 이..

    2022.11.05
  • [Docker] 도커 이미지를 생성하고 추출하기

    도커 허브 저장소에 이미지 배포하기 [Backend/Docker] - 도커 이미지를 생성하고 추출하기 이미지 배포 save, export와 같은 방법의 단점 save나 export와 같은 방법으로 이미지를 단일 파일로 추출해서 배포할 수도 있지만 이미지 파일의 크기 e-juhee.tistory.com 1. 도커 이미지 도커는 기본적으로 도커 허브라는 중앙 이미지 저장소에서 이미지를 내려받는다. 2. 도커 허브 도커 허브는 도커가 공식적으로 제공하고 있는 이미지 저장소 도커 계정을 가지고 있다면 누구든지 이미지를 올리고 내려받을 수 있기 때문에 다른 사람들에게 이미지를 쉽게 공유할 수 있다. 누구나 이미지를 올릴 수 있기 때문에 공식(Official) 라벨이 없는 이미지는 사용법을 찾을 수 없거나 제대로 ..

    2022.11.04
  • 프론트엔드 개발자도 Docker를 알아야 하나요?

    💡 프론트엔드 개발자도 Docker를 알아야 하나요? 넹 1. 개발/배포 환경을 통일시킬 수 있다. 현업에 가면 Docker 환경에서 개발을 하게 된다. 💡 Why? 프론트를 개발하든 백을 개발하든 결국엔 세상에 공개하는 배포 과정이 이루어져야 한다. 개발이 Docker 환경에서 이루어지면 배포가 쉬워져서 Docker를 많이 활용하게 된다. 그래서 우리가 직접 Docker를 다루지 않더라도, 기본 세팅이 다 Docker로 되어있다. 2. 가벼운 용량의 가상 컴퓨터이다 운영체제에 따라서 환경이 달라진다. (ex 회사 직원들끼리 버전을 동일하게 맞췄는데 실행이 안됨) 그래서 가상머신(가상 컴퓨터)을 도입했다. 가상 머신 내 윈도우/맥 안에 컴퓨터를 하나 더 설치하는 것이다. (리눅스 안에 리눅스를 설치하는 ..

    2022.11.03
이전
1
다음
Github LinkedIn

티스토리툴바