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
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 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로 빠져나온다.
'linux' 카테고리의 다른 글
Docker 교육 3일차 정리 (295) | 2021.03.25 |
---|---|
Docker 교육 2일차 정리 (310) | 2021.03.24 |
Ubuntu 20.04 + Nvidia 460.39 Hang issue (298) | 2021.03.16 |
cuda 11.0 및 cudnn 설치 방법 - 리눅스(ubuntu18.04) (382) | 2021.02.17 |
nvidia nvswitch install - 설치 과정 오류 해결 (415) | 2021.01.13 |
최근댓글