Docker 컨테이너 

 

  1. 프로세스 격리와 환경 독립성
    • 컨테이너는 소프트웨어를 다른 환경과 격리하여 재사용성과 자원 효율성을 극대화합니다.
    • 각 컨테이너는 독립된 PID, 네트워크, 파일 시스템 네임스페이스를 가지며, 다른 컨테이너나 호스트로부터 완전히 분리됩니다.
  2. Docker 기본 명령어
    •  docker run: 컨테이너 생성 및 실행.
    • docker stop: 실행 중인 컨테이너 중지.
    • docker rm: 컨테이너 삭제.
    • docker ps: 실행 중인 컨테이너 목록 표시(-a 옵션으로 모든 컨테이너 표시).
    • docker logs: 컨테이너의 로그 확인.
  3. 컨테이너의 상태 관리
    • 컨테이너 상태: created, running, paused, restarting, exited, dead.
    • --restart 정책: 실패 시 컨테이너 자동 재시작 설정 가능(always, on-failure).
  4. 데이터 관리 및 볼륨
    • Docker 볼륨을 사용하여 데이터의 영속성 확보.
    • 컨테이너의 데이터와 호스트 파일 시스템을 연결하여 데이터 공유 가능.
  5. 환경변수 주입
    • --env 플래그를 통해 컨테이너 실행 시 환경변수 주입 가능.
    • 환경변수는 구성 파일 없이 소프트웨어 동작을 조정할 수 있는 유연한 방식 제공.
  6. 컨테이너 ID 및 이름 관리
    • Docker는 컨테이너를 고유한 ID로 식별하며, 사람이 읽기 쉬운 이름도 자동 생성.
    • 스크립트 자동화를 위해 컨테이너 ID 또는 이름 활용 가능.
  7. 컨테이너에서 소프트웨어 실행
    • 상호작용 방식: --interactive와 --tty를 사용하여 터미널 연결.
    • 데몬 방식: --detach를 사용해 백그라운드 실행.
  8. Docker 네트워킹
    • 기본 브리지 네트워크 외에도 사용자 정의 네트워크 생성 가능.
    • 컨테이너 간 통신 설정은 링크(--link) 또는 사용자 정의 네트워크를 활용.
  9. 읽기 전용 파일 시스템
    • 컨테이너의 무결성 보장을 위해 --read-only 옵션으로 파일 시스템을 읽기 전용으로 설정.
    • 특정 경로에 대한 쓰기 권한은 볼륨이나 tmpfs를 통해 허용.
  10. 내구성 있는 컨테이너 구축
    • 컨테이너의 실패에 대응하기 위해 재시작 정책 활용.
    • 복구 가능한 디자인과 초기화 시스템(supervisord, tini 등) 활용.
  11. 컨테이너 정리
    • 필요 없는 컨테이너는 docker rm 명령어로 삭제.
    • --rm 옵션을 사용하면 컨테이너 종료 후 자동으로 삭제.
  12. 애플리케이션 배포
    • 다양한 애플리케이션 배포 시 Docker Hub 이미지를 활용하여 간편한 설치 및 실행 가능.
    • 환경 독립성을 유지하며 구성 요소 간 연결 및 모니터링 시스템 구축 가능.

 

'Docker' 카테고리의 다른 글

볼륨(Volume)  (0) 2024.12.04
도커 인 액션 4장  (0) 2024.12.04
도커 인 액션 1장  (0) 2024.12.04
도커 인 액션 3장  (0) 2024.12.04
ext4 (Extended Filesystem 4)  (1) 2024.12.04

+ Recent posts