도커 10

docker compose

docker compse(도커 컴포즈) - 단일 서버에서 여러 컨테어너를 프로젝트 단위로 묶어서 관리해 주는 것 - yml(YAML)파일을 통해 명시적으로 관리 - 프로젝트 : 도커 컴포즈에서 다루는 워크 스페이스 단위(서비스 컨테이너의 묶음) - 서비스 : 도커컴포즈에서 컨테이너를 관리하는 단위. scale을 통해 컨테이너 수 확장 yml파일 형식 - 최상위 키는 version, services, networks, volumes 총 네가지로 구성 - version : yaml파일의 버전. 도커엔진의 호환성 메트릭스를 참고해야 함 - services : 컨테이너들을 묶는 단위 docker-compose 명령어 - 도커 컴포즈 run하는 것 docker-compose up docker-compose up ..

도커 2023.01.16

도커데몬 디버깅용 docker system

docker system 도커데몬 디버깅을 위한 system 명령어들을 알아 본다. - 도커 이벤트 확인 명령어. 도커 이벤트가 발생하면 스트리밍으로 이벤트 발생순간 동작과정을 확인할 수 있다. docker system event - 도커 이미지, 컨테이너의 자원사용량을 확인할 수 있다. docker system df docker system df -v //좀더 자세히 - 중지된 컨테이너, 사용하지않는 컨테이너등등을 삭제 docker system prune - 컨테이너들의 CPU사용량, 메모리사용량 등을 확인가능 docker stats

도커 2023.01.16

Dockerfile 문법

docker file 문법 # 베이스 이미지 결정 FROM node:1 # 이미지의 메타데이터 label description="this is node.js" label maintainer="dong" # working 디렉토리 설정 WORKDIR /app # 호스트 OS의 파일을 컨테이너에 working dir에 복사 COPY my_files ./ #위에서 wokring dir을 /app으로 했으므로, app에 복사 # 도커이미지상에서 실행되는 명령어(도커이미지, /app에서 실행) RUN npm install # 현재디렉토리의 모든 파일을 도커이미지 디렉토리에 복사 copy . . # 8080포트를 사용한다고 명시용(run할떄 -p 옵션을 사용해야 실제로 8080포트 사용가능) EXPOSE 8080 ..

도커 2023.01.15

이미지생성

현재컨테이너 commit을 통한 이미지 생성 기존 컨테이너기반 commit을 통한 이미지 생성 docker commit [option] [conatiner] [image_name]:[tag] docker commit -m "first_commit" -a "dong" now_container my_ubuntu:v1 dockerfile을 이용한 이미지 생성 docker build -t [imagename]:[version] -f [path(Dockerfile이 있는 폴더)] ./ * 빌드명령 수행시 빌드 컨텍스트(현재 디렉토리)를 도커 데몬에게 전달하여 빌드가 정상적으로 수행되도록 한다.

도커 2023.01.15

도커 로그

도커 로그확인 docker logs [container] //전체로그 확인 docker logs --tail [n] [container] //마지막 로그 n줄 docker logs -f [container] //실시간 로그 스트림 확인 docker logs -f -t [container] //로그마다 타임스탬프 표시 호스트 로컬에 도커 로그 저장경로 cat /var/lib/docker/containers/[container_id]/[container_id]-json.log run 수행시 옵션값으로 로그용량 제한하기 docker run\ -d\ --log-driver=json-file \ //로그 드라이버 설정 --log opt max-size=3m \ 한 로그파일당 최대메모리, 3mb --log op..

도커 2023.01.15

도커 볼륨

도커 볼륨 도커가 제공하는 볼륨 관리 기능 이용. 기본적으로 /var/lib/docker/volumes/[volume-name]/_data 위치에 데이터 저장 * 볼륨생성 docker volume create --name db * 도커의 web-volume 볼륨을 Nginx의 웹 루트 디렉토리로 마운트 docker run -d\ --name my-mysql\ -v db:/var/lib/mysql \ -p 3306:3306\ mysql:5.7 호스트 볼륨 docker run -d\ --name [container_name]\ -v [host_path]:[container_path]\ [image] *읽기전용 옵션(:ro) docker run -d\ -v [host_path]:[container_path]:..

도커 2023.01.15

도커 run 주요옵션

도커 run 주요옵션 -기본 docker run \ -i -t\ -> i:호스트 표준입력을 컨테이너와 연결, t:TTY할당 -d\ -> 백그라운드 모드로 실행, 만약 포그라운드로 실행한 상태에서 빠져나오고싶으면 ctrl+p+q --name {name}\ -> 사용자지정 이름으로 컨테이너 이름 설정 -p {host port:contaner port}\ -> 포트바인딩 --rm\ -> 도커 컨테이너 실행종료 후 자동 삭제 my-command\ -> 컨테이너 내에서 실행할 명령어 ( ex)docker run ubuntu ls ) - 환경변수 docker run -e 변수=입력값\ -> 환경변수 --env-file {file_path} -> 환경변수(파일) - 엔트리포인트(도커컨테이너가 실행될 때 고정적으로 실..

도커 2023.01.14

도커 명령어

도커 명령어 (이미지) - 도커 생성(이미지가 없을 경우, pull을 먼저 수행하여 이미지 다운로드) docker create [image] - 컨테이너 생성 및 시작(이미지가 없을 경우, pull을 먼저 수행하여 이미지 다운로드) docker run [image] 도커 명령어 (컨테이너) * [container]에는 컨테이너의 이름이나 id를 넣으면 된다 - 컨테이너 시작 docker start [container] //컨테이너 이름 or id로 실행가능 - 동작중인 도커 컨테이너 확인 docker ps - 동작중인 도커 컨테이너 bash 쉘 실행하기 docker exec -it [컨테이너명] bash - 모든 도커 컨테이너 확인 docker ps -a - 컨테이너 정지 docker stop [co..

도커 2023.01.14