Docker 교육 1일차 정리

Docker

linux container 기술(LXC)을 이용

Docker 교육 1일차를 정리 중이며, 혼자만 알아볼수 있게 마음대로 작성되었으니, 좀 정리가 깔끔하게 필요한 사람들은 Docker 설치 및 사용법 을 참고해주세요.

 

linux container는 커널의 namespaces, cgroups, chroot 역할을 통해 동작

UFS(Union Filesystem)

 

namespaces

  • PID
  • Network연결
  • Volume mount

 

cgroups

  • Resource 할당
    ( cpu, memory, disk, network)
  • Default = unlimit -> runtime limit

 

chroot

  • PID1 프로세스 격리

 

Dockerd

  • Docker Cli API
  • SwarmKit
  • Logs Mgmt
  • Storage Mgmt
  • Libnetwork
  • Buildkit
  • DCT(Docker Content Trust)
  • Image Mgmt

 

Docker 실체

1. Process

2. /var/lib/docker/

 

Docker 관리대상 4가지

1. Image

2. Container

3. Network

4. Volume

docker command chart
docker command chart

 

Image : 불변(RO)

Container Commit -> Image

Docker network 구조

  • docker-proxy, NAPT(Network Address Port Translation)

  • NIC → docker0 → vethxxxx → eth0(docker container)

  • docker0 : 172.17.0.0/16(cidr), Bridge network 사용

  • 172.17.0.1을 사용하여 eth0부터 172.17.0.2 부터 사용 됨

 

Docker 설치

GPG Key 추가

$curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

 

GPG Key 확인

$ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

 

repository 등록

# debian 계열의 docker repository 추가 후 apt update 수행(/etc/apt/sources.list 기록)
$sudo add-apt-repository \
> "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
> $(lsb_release -cs) \
> stable"

 

Docker 설치

sudo apt-get update
sudo apt-get install docker-ce

 

Docker 간단하게 설치하기

2020.12.30 - [linux] - Docker 설치 및 컨테이너 실행 옵션 사용방법

 

Docker 설치 및 컨테이너 실행 옵션 사용방법

Docker 설치 및 컨테이너 실행 옵션 사용방법 Docker? nvidia-docker2? 이번 포스팅에서는 Docker에 대해 알아보려고 합니다. 사실 이미 오래전부터 사용되었던 Docker이지만 모르는 분들을 위한 글이기

kyumdoctor.co.kr

 

Docker 팁

docker run daemon

- /var/run/docker.sock

 

docker storage

- /var/lib/docker

 

overlay

host to host cluster용 네트워크

 

docker images

docker image ls

 

docker build를 경량화를 위해 net-tools, iputils-ping 등을 설치 할 필요 없다.

Local 서버에서 확인 가능

$ sudo apt-get install bridge-utils

$ brctl show

$ docker inspectjeff@hostos1:~$ sudo apt install bridge-utils
$ docker inspect cool_mayer |grep -i ipaddress
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.3",
                    "IPAddress": "172.17.0.3",

해당 명령어 inspect 컨테이너를 상세히 확인이 가능

 

 

$ sudo netstat -nlp |grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      7336/docker-proxy
$ ps -ef |grep 7336
root      7336   975  0 17:11 ?        00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3306 -container-ip 172.17.0.2 -container-port 3306
jeff      8573  3094  0 17:24 pts/1    00:00:00 grep --color=auto 7336

 

컨테이너에서 빠져나올때 exit로 나오게 되면 서비스가 Stop되므로 Ctrl + p + q로 빠져나온다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">