Skip to content

✔도커 Docker 컨테이너 Container 사용 방법에 대해서 배운다

Notifications You must be signed in to change notification settings

SagiK-Repository/Learn_Docker

Repository files navigation

문서정보 : 2022.09.22.~ 작성, 작성자 @SAgiKPJH

Learn_Docker

도커 Docker 컨테이너 Container 사용 방법에 대해서 배운다


Docker란?

  • 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.
  • 일종의 VM 축소판이다.
  • 도커 웹페이지 설명
    • 도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다.
    • 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다.
  • 도커는 리눅스에서 운영 체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공한다.
  • 2013년 3월 13일에 오픈소스로 발표가 되었으며, 도커 자체가 매우 가볍기 때문에 하나의 서버나 가상머신이 여러개 동시에 구동할 수 있다.

목표


⭐ Docker에서 많이 쓰이는 CMD 명령어 정리

  • Dockerfile Build (대문자 불가)
    docker build -t image_name .
    docker build -t image_name -f dockerfile # 도커 파일이 다른 이름 또는 다른 폴더에 있을 시
  • Make Container And Run 및 bash 접근 (CMD /bin/bash 설정을 안해놓을 시)
    docker run --name container_test -it image_test /bin/bash
    docker run --name container_test -it image_test:latest /bin/bash  # 보다 정확히 (버전 표시)
    docker run --name container_test -u user -it image_test:latest /bin/bash   # 다른 유저로 접근
    docker run -d image_test:latest # 백그라운드 실행
  • Make Container And Run (CMD /bin/bash 설정을 해놓을 시 위와 동일)
    docker run --name container_name image_name
  • 만일 중간에 나와버려서 재 접근 해야할 시
    docker start container_name
    docker exec -it container_name /bin/bash
  • root 권한으로 접근 방법
    docker exec -u 0 -it container_name bash
  • container 및 image 상태 확인
    docker ps  # Container 확인
    docker images  # Image 확인
  • container 및 image 제거
    docker rm --force container_name  # Container 강제 삭제
    docker rmi image_name  # Image 삭제
  • Docker Image Tag 변경
    docker tag test_image:latest juhyung1021/test-docker:latest
  • <none> Image 삭제
    docker rmi $(docker images -f "dangling=true" -q)
    docker image prune
  • Docker 배포
    # 이름 변경
    docker tag dockername:latest juhyung1021/test-docker:latest
    
    # Docker Login
    docker login  
    
    # Docker 배포
    docker push juhyung1021/dockername:latest"
  • Docker-Compose (https://kimjingo.tistory.com/108)
    # 실행 또는 실행중인 compose 업데이트 (-d : 백드라운드, -f : 파일 지정 )
    docker-compose -f docker-compose.yml up -d
    
    # 부분 재실행
    docker-compose restart service1 service2 service3 ...
    
    # 부분 업데이트
    docker-compose up -d --build servicename
    
    # 삭제
    docker-compose down

Resource 제한

  • docker
docker run -m 512m nginx # Memory 512MB 제한
docker run -m 512m --memory-reservation=256m nginx # Memory 부족 감지시 활성화

docker run --cpus=2 nginx # 최대 2개 CPU 사용 제한
docker run --cpus=2 --cpu-shares=2000 nginx # CPU 우선순위 부여 (1024 기본, 높은수록 우선순위 높다)
  • docker-compose
services:
  service:
    image: nginx
    deploy:
        resources:
            limits:
              cpus: 0.50
              memory: 512M
            reservations:
              cpus: 0.25
              memory: 128M
service:
  image: nginx
  mem_limit: 512m
  mem_reservation: 128M
  cpus: 0.5
  ports:
    - "80:80"

기타 docker 사용 내용


참고 사이트

About

✔도커 Docker 컨테이너 Container 사용 방법에 대해서 배운다

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published