본문 바로가기

전체 글

(30)
Docker 개발관리 활용 - Kubernete 개발 배경 • Container는 stateless, immutable, mortal (상태를 가지고 있지 않고, 변화하지 않으며, 언제든 죽을 수 있는)개념을 기반으로 아키텍처를 구성하다 보면 운영에 앞서 반드시 필요한 것이 Container Orchestration(=Kubernetes)이다 • Container Orchestration은 다수의 Container를 다수의 호스트(클러스터)에 적절하게 분산 실행하고, 원하는 상태(desired state)로 실행상태를 유지해 주고, 다운타임 없이 유동적으로 스케일을 확장/축소할 수 있게 도와준다 • 사용자가 Container에 대한 동작과 다른 Container와의 관계를 정의하면 배포/운영/스케일링에 문제가 없도록 자동으로 관리되는 운영 시스템이라고..
Docker 개발관리 활용 - 11. Docker Swarm Docker Host에 너무 많은 컨테이너를 운영 하게 되면 리소스 부족을 겪게 되는데 이를 해결하기 위해 Docker Swarm을 활용한다
Docker 개발관리 활용 - 10. Docker Network asdfasdf
Docker 개발관리 활용 - 9. Virtual Bridge 기본적으로 컨테이너가 호스트 외부와 통신할 때는 docker0 라는 Virtual Bridge로 이뤄진다 docker0는 virtaul bridge로서 2단계 layer까지만 처리한다 container -> docker0 -> internet : NAT 사용 반대로 외부에서 컨테이너로 접근할땐 포트포워딩 사용 docker0 virtual bridge에서 IP주소를 연결된 컨테이너에게 자동으로 할당함 컨테이너를 생서할때 네트워크를 지정하지 않으면 기본적으로 docker vertual bridge에 연결된다 Docker Bridge를 사용하기 위한 명령어 nmcli dev Docker Host의 NIC 정보를 확인 yum install bridge-utils -y
Docker 개발관리 활용 - 8. Docker Volume Data Volume 컨테이너 안에 실제 데이터를 저장하지 않는다 web server 와 db, storage server를 분리한다 storage 서버의 경우 data volume을 사용해 data storage로 사용한다 cloud storage ( Azure storage, AWS S3 )를 사용해 만들면 더 좋다~ docker voume ls docker volume create condir docker run -it --name mycon -v condi docker exec
Docker 개발관리 활용 - 7. On-Premises에 Private Docker 구축 사용자 인증 Basic HTTP Authentication 구성 Private Docker Registry용 docker-registry 컨테이너 생성 Docker Hub에서 busybox 이미지 다운하여 이름 변경
Docker 개발관리 활용 - 6. Dockerfile을 사용해 Image 생성 docker run -it -img_git /bin/bash docker run ubuntu:focal /bin/bash -c 'apt-get update' -> 우분투(태그면 focal)에서 bash쉘을 실행해 -c 아래의 명령어를 실행한다 docker commit $(docker ps -alq) ubuntu:git-layer-1 -> git-layer-1의 태그명 으로 이미지를 생성 docker push ~~ -> docker registry에 이미지 업로드 docker ps -a -> 실행 또는 실행이 중지된 모든 container 확인 '-q' 옵션 추가시 container ID만 반환한다 docker rm $(docker ps -a -q) -f -> rm 명령어는 container ID를 인자로..
Docker 개발관리 활용 - 6. Docker 명령어 정리 docker run - os 이미지의 경우 docker run -it --name 'myimg' alpine bash uname -a or cat/proc/version //OS버젼 확인 - app 이미지의 경우 docker run -d -p '80:80' --name 'app name' os의 경우 디폴트로 bash로 접속 하게되지만 app의 경우 직접 쉘을 명시해줘야 한다 - db의 경우 docker exec docker exec -it 'myimg' sh docker attach docker images //다운받은 원본 Images docker ps //현재 실행중인 컨테이너 목록 출력 '-a' 옵션 추가시 저장된 컨테이너도 모두 확인 Ctrl + P, Q : 컨테이너를 종료시키지 않고 나오기 (..