Base 지식
Memory 할당
Disk 성능지표
Network PPS
Process
Network Monitoring
Install VirtualBox
Install Ubuntu 18.04
Install Docker CE
Kernel Version 확인
uname -a
Linux docker-host1 5.4.0-48-generic #52~18.04.1-Ubuntu SMP Thu Sep 10 12:50:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
https를 경유하여 Repo를 사용 할 수 있도록 패키지 설치
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
Docker 공식 GPG(GNU Privacy Guard) Key 추가
sudo curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo apt-key add -
apt-key 확인
sudo apt-key fingerprint
apt-key key 적용
sudo apt-key fingerprint [key값]
Debian 계열의 docker Repo 추가 후 apt update 수행
sudo add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/ubuntu> $(lsb_release -cs) stable"
update 진행
sudo apt-get update
docker CE 버전 설치
sudo apt-get -y install docker-ce
docker 버전 확인
sudo docker version
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:36 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:01:06 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
sudo 없이 docker 사용하기
sudo usermod -aG docker jeff
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl restart docker
sudo reboot
Launch Container Service
Docker Command Diagram
http://naver.me/GurLiem1 pwd : docker
기존 VM은 각 Guest OS마다 가지고 있는 kernel을 가지고 구동
Container는 Infra위에 있는 OS의 Kernel을 Share
LXC(Linux Container)의 namespaces,cgroups,chroot 가지고 구동
Docker의 핵심 기술은 하드웨어 가상화 없이 격리된 환경에서 실행되는 프로세스이다
/dev/sda1
/dev : device moint point /dev 경로
sd : SCSI Device
a : Disk #
1 : Partition #
Docker Registry
Docker Compose
Docker Machine
Docker Swarm
Overview
docker run = ([image pull] + Container create + start attach)
docker pull python
Docker Root Dir: /var/lib/docker : 컨테이너의 물리 호스트 위치
docker pull <image site> <image 이름>[:태그이름]
기본적으로 안적으면 docker.io이 기본값
필요하다면 URL 지정 가능
docker pull <image site> <image 이름>[:태그이름] (단 http:// 제외하고 적기)
RECLAIMBLE : 회수 가능한 용량
docker Container 실행중 exit 치면 Container Stop(컨테이너 종료)가 됨
따라서 컨테이너를 동작중에 Host OS로 돌아오려면
Ctrl + P,Q
다시 컨테이너로 들어가려면
docker exec -it [Container Name]
--name : Container 의 이름을 지정
-d : Container를 백그라운드에서 실행하고 Container ID 출력, 백그라운드에서 실행 (exit로 나와도 Container Stop 안됨)
-p : Container의 특정포트를 Host 로 오픈, HOST : Container 순서로 매칭
cp : 물리호스트의 파일을 특정 컨테이너의 위치에 이동
docker cp [옮길 파일 이름] [컨테이너 이름]:[옮길 파일의 컨테이너 경로
-h : Container에 접속하여 보이는 hostname은 기본적으로 Container ID를 따르지만 별도로 지정 가능하다.
docekr run -d -p 8005:80 -h [임의의 hostname] --name ~~~ [image이름]:[버전]
그리고 보면..
user명@[지정한 hostname]:
이렇게 뜬다