WSL2 (windows subsystem for linux)windows에서 작동하는 linux 시스템경량화Linux 커널을 가상화하고 Windows와 통합하는 방식으로 작동WSL 2는 많은 다양한 Linux 배포판을 설치할 수 있으며 Ubuntu 또한 그 중 하나W
실행 중인 컨테이너 삭제 [MacOS] docker rm -f $(docker ps -aq) [Windows] docker ps -aq | ForEach-Object {docker rm -f $_} docker --help docker container --help
컨테이너 엔진 사용자의 요청을 바아서 컨테이너를 관리해주는 역할컨테이너 런타임직접 커널과 통신하면서 실제로 격리된 공간을 만드는 역할runc : 도커가 지원하는 기본 컨테이너 런타임 (자유 선택)클라이언트사용자의 명령을 전달 (docker CLI)도커데몬(도커D)실제로
이미지 레지스트리 이미지 공유, 검색, 버전관리, 보안, 파이프라인(자동배포 및 연계 기능 등) > 1. docker run nginx 실행 2. 로컬 스토리지(호스트 머신의 로컬 스토리지)의 이미지 검색 3-1. 로컬 스토리지에 이미지 있을 경우 바로 실행 3-2
이미지 커밋
이미지 레이어 레이어 구조 : 재사용성이 좋아진다 index.html 파일만 다를 경우 1,2,3 레이어를 재사용하게 된다 image는 깃에 푸시한 소스코드와 비슷하다. 푸시한 코드를 수정하려면 수정해서 다시 푸시해야되는 것처럼 이미지도 새로 생성하여 올려야한다 이미지 레이어 : 컨테이너 레이어를 실행하기 위한 세이브 포인트 역할
IaC(Infrastructure as Code) 인프라 상태 코드로 관리이미지 커밋: 이미지를 만들 때 마다 컨테이너를 실행해야하고, 사용자가 직접 명령어를 입력해야한다: 커밋 하나당 이미지 레이어가 하나씩 추가 되기 때문에 여러개의 레이어를 추가하고 싶을 때는 여러
이미지를 빌드 할 때 사용되는 폴더docker build 명령을 사용하면 01.buildnginx 폴더가 도커 데몬에게 전달됨.dockerignore: dockerignore 내 파일 리스트는 빌드 컨텍스트에 전달하지 않음: 도커파일이 C드라이브 최상단 폴더에 있게 되
FROM이미지명 : 베이스 이미지를 지정COPY빌드컨텍스트경로 레이어경로 : 빌드 컨텍스트의 파일을 레이어에 복사(새로운 레이어 추가)RUN 명령어 : 명령어 실행 (새로운 레이어 추가)CMD“명령어” : 컨테이너 실행 시 명령어 지정docker build -f 도커파
도커파일에서 두개의 이미지를 활용하는 방법빌드에 사용하는 이미지 + 실행에 사용하는 이미지싱글 스테이지멀티 스테이지COPY --from=build: form이 두개 -> 도커가 두개의 컨테이너를 동시에 생성하고, 첫번째 컨테이너에서 만들어진 파일을 두번째 컨테이너로 복
클라우드: 퍼블릭 클라우드: 프라이빗 클라우드: 사용 요청 즉시 서버를 생성
컨테이너 실행: docker run -d --name postgres -e POSTGRES_PASSWORD=password postgres:13\-e POSTGRES_PASSWORD=password : 환경 변수 POSTGRES_PASSWORD를 password로 설정
가상의 네트워크 브릿지(도커 제로) 생성 : 172.17.0.1컨테이너에 가상의 ip 할당같은 브릿지 내에서 생성된 컨테이너들끼리는 브릿지를 통해서 통신 가능iptables : 라우터 역할Rule : 도착지가 172.17.0.3 이면Veth2 인터페이스로 전달docke
Docker Volume : 컨테이너의 상태
애플리케이션의 크기를 가능한 작게 관리베이스 이미지를 작은 이미지로 선택
docker-backend docker-frontend docker-db
소스 코드가 변경 된 경우 라이브러리를 설치하는 부분을 별도로 분리 -> 빌드 속도 향상프론트 도커 파일백엔드 도커 파일\--no-cahe 옵션 사용 : 캐시 사용 안함소스 코드가 바뀌고 나서 캐시 사용
기존 : 백엔드 외부 노출로 위험프록시 기술 설정
Remote JVM Debug 추가
여러 개의 docker 컨테이너들을 관리하는 도구한 번의 명령어로 여러 개의 컨테이너를 한번에 실행하거나 종료할 수 있다docker compose up-d: YAML 파일에 정의된 서비스 생성 및 시작docker compose ps: 현재 실행중인 서비스 상태 표시do
leafy-postgres / leafy-backend / leafy-front 로 총 3개의 컨테이너로 정의 되어있다depends_on: 특정 컨테이너가 실행 될 때 까지 컨테이너 실행을 보류: 정의하지 않으면 모든 컨테이너가 동시에 실행