일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 운영체제
- 네트워크
- NGINX
- docker
- k8s
- 리눅스
- 부스트코스
- centOS
- boj
- 도커 명령어
- AWS
- swift 클로저
- 데브옵스
- 프로세스
- 컨테이너
- centOS7
- 쿠버네티스
- kubernetes
- devops
- Python
- 인프라
- 도커 이미지
- ios
- os
- 클라우드
- 도커
- 도커 컨테이너
- linux
- C++
- Swift
- Today
- Total
목록도커 (15)
귀염둥이의 메모
CentOS 7 - Docker 설치 참조 : https://docs.docker.com/engine/install/centos/ docker-ce : 도커 엔진 docker-ce-cli : 엔진 명령 컨트롤 도구 containerd.io : 컨테이너 서비스 (실제로 컨테이너를 쓸 수 있는 서비스) 실행 및 설정 sudo systemctl start docker.service sudo systemctl enable docker.service sudo usermod -aG docker user ➡️ user 사용자 docker 그룹에 추가 docker --version hello-world 실행 docker container run ex) docker container run ubuntu:latest /b..
네트워크 구성(가상 bridge/ 가상 NIC) Linux는 Docker를 설치하면 서버의 물리 NIC(Network Interface Card)가 docker0이라는 가상 브리지 네트워크로 연결된다 docker0은 Docker를 실행시키면 기본적으로 만들어진다 Docker 컨테이너가 실행되면 컨테이너에 172.17.0.0/16라는 서브넷 마스크를 가진 Private IP가 eth0으로 자동 할당된다 이 가상 NIC는 OSI Layer 2인 가상 네트워크 인터페이스로, 페어인 NIC와 터널링 통신을 한다 가상 NIC(vethxxx)는 컨테이너에서 eth0으로 인식된다 Docker 컨테이너와 외부 네트워크가 통신할 때는 가상 브리지 docker0와 호스트 OS의 물리 NIC에서 패킷을 전송하는 장치가 필요..
Docker의 작동 구조 컨테이너라는 독립적인 환경을 만들기 위해 Linux 커널의 namespace라는 기능을 사용한다. 또한, 물리 머신 상의 자원을 여러 컨테이너가 공유하여 작동하게 된다. 이때 Linux 커널 기능인 cgroups(control groups) 기능을 사용하여 자원의 할당 등을 관리한다. 컨테이너를 구획화하는 장치 (namespace) namespace는 한 덩어리의 데이터에 이름을 붙여 분할 함으로써 충돌 가능성을 줄이고, 쉽게 참조할 수 있게 하는 개념이다. 이름과 연결된 실체는 그 이름이 어떤 이름 공간에 속해 있는지 고유하게 정해진다. 그래서 이름 공간이 다르면 동일한 이름이라도 다른 실체로 처리된다. PID namespace PID와 프로세스를 격리시키고, namespace..
Docker의 기능 Build - 도커 이미지를 만드는 기능 Ship - 도커 이미지를 공유하는 기능 Run - 도커 컨테이너를 작동시키는 기능 Build 애플리케이션의 실행에 필요한 프로그램 본체, 라이브러리, 미들웨어, OS나 네트워크 설정 등을 하나로 모아 도커 이미지를 만든다 도커 이미지는 실행 환경에서 움직이는 컨테이너의 바탕이 됨 하나의 이미지에는 하나의 애플리케이션만 넣어 두고, 여러 개의 컨테이너를 조합하여 서비스를 구축하는 방법을 권장 이미지는 Docker 명령을 사용하여 수동으로 만들 수도 있고, Dockerfile이라는 설정 파일을 만들어 그것을 바탕으로 자동으로 이미지를 만들 수도 있다 CI/CD 관점에서 코드에 의한 인프라의 구성 관리를 생각하면 Dockerfile을 사용하여 관리..
Docker의 개요 Docker는 애플리케이션의 실행에 필요한 환경을 하나의 이미지로 모아둔다 이미지를 사용하여 다양한 환경에서 애플리케이션 실행 환경을 구축 및 운용하기 위한 오픈 소스 플랫폼 이미지만 있으면 동일환 환경에서 애플리케이션을 가동할 수 있다 Docker 내부에서 컨테이너 기술을 사용한다 이식성(portability)이 높기 때문에 클라우드 시스템과 친화력도 높다 온프레미스 환경에 대한 이쩐 뿐만 아니라 '온프레미스 ➡️ 클라우드', '클라우드 ➡️ 온프레미스' 간에도 시스템 요건이나 예산에 따라 손쉽게 실행 환경을 선택할 수 있다 Docker 컨테이너의 특징 모듈성 전체 애플리케이션을 분해할 필요 없이 일부를 분해하고, 업데이트 또는 복구하는 능력에 집중 계층 및 이미지 버전 제어 각 도..