Docker

오픈소스 비즈니스 컨설팅
Pnuskgh (토론 | 기여)님의 2019년 10월 28일 (월) 17:33 판 (→‎참고 문헌)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 가기 검색하러 가기

컨테이너형 가상화를 실현하는 오픈소스인 Docker를 정리 합니다.

LXC (LinuX Container)

Operating-system-level virtualization

Container

  • cgroups : CPU, Memory, Block I/O, Network 등을 할당
  • namespace isolation : OS 환경을 격리

참고 문헌

Docker Hub 개요

Docker Hub 서비스

  • GitHub와 Bitbucket 등의 소스 코드 관리 툴과 연계하여 자동으로 코드를 빌드
  • Amazon AWS Elastic BeansTalk 과 Google Compute Engine, Rackspace, Red Hat의 OS 등과 연계하여 애플리케이션을 배포
  • 실행 가능한 애플리케이션의  Docker 이미지 관리


Google Compute Engine 에서 지원하는 CoreOS는 애플리케이션 런타임용으로 Docker를 기반으로 개발 된 OS

Red Hat Summit 2014에서 레드햇은 Docker와의 제휴를 발표
OpenShift 애플리케이션 컨테이너를 Docker과 통합


Docker Network

yum -y install bridge-utils


Docker를 설치하면 Container와 통신하기 위한 docker0라는 Linux Bridge가 생성 된다.

ip addr list docker0
ip link
brctl show docker0

docker network ls
docker network inspect bridge
docker network inspect host

docker ps -a

docker exec ~ ifconfig eth0


Contailer port를 외부로 노출

#--- 8080 port를 container의 80 port에 매핑
​docker run -d -p 8080:80 --name web httpd

netstat -nlp | grep 8080

docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.2 -container-port 80

sysctl -a | grep ip_forward
    net.ipv4.ip_forward = 1

참고 문헌