전체 글

전체 글

    도커 컨테이너 하드웨어 리소스 제한 관리 - Memory, CPU

    컨테이너 하드웨어 리소스 제한 관리하기 기본으로 컨테이너는 호스트 하드웨어 리소스의 사용 제한을 받지 않는다. 하지만 컨테이너가 필요로하는 만큼의 리소스만 할당해야한다. Docker Command 를 통해 제한할수 있는 리소스 : CPU, Memory, DISK IO docker run —help 를 통해 확인 가능하다. Memory 리소스 제한 제한 단위는 b,k, m,g로 할당 #nginx를 실행할때 최대로 사용할 수있는 메모리 양을 512m로 지정 docker run -d -m 512m nginx:1.14 #nginx는 항상 500m사용을 보장받고, 최대 1g 까지 쓸 수있다. docker run -d -m 1g --memory-reservation 500m nginx:1.14 #메모리 스왑 : 실..

    Docker로 mysql 설치 및 접속하기

    #도커 이미지 pull docker pull mysql #도커 컨테이너 생성 및 실행 docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=0000 -d -p 3307:3306 mysql:latest #도커 컨테이너 리스트 확인 docker ps #mysql 도커 컨테이너 접속 docker exec -it mysql-container bash - p : 도커 설치한 호스트의 3307 포트를 컨테이너의 3306 포트에 연결한다는 의미 이후에 접속을 하면 되는데 , 기본적으로 host 종류는 ‘localhost’ 와 ‘%’ 가 있다. 기본적으로 mysql 을 설치하면 로컬에서만 접속이 가능하고 외부에서는 접속이 불가능한데 이때 데이터 그립에 등록하고 싶으면 r..

    Dockerfile 이용해서 이미지 만들고, 도커 허브에 배포하기

    도커 파일 (Dockerfile)을 통해 이미지를 만들고, 이를 실행시켜 컨테이너를 만들 수 있다. Dockerfile Dockerfile은 컨테이너를 만들 수 있도록 도와주는 명령어의 집합이다. 즉, 이미지를 생성하기 위한 용도로 작성하는 파일을 말한다. 쉽고 간단 명확한 구문을 가진 text file 로 top-down 해석 컨테이너 이미지를 생성할 수있는 고유의 지시어를 가진다. 대소문자를 구분하지 않으나 가독성을 위해 사용한다. 문법 FROM : 컨테이너의 Base Image MAINTAINER : 이미지를 생성한 사람의 이름 및 정보 LABEL : 컨테이너 이미지에 컨테이너의 정보를 저장 RUN : 컨테이너 빌드를 위해 base image에서 실행할 commands COPY : 컨테이너 빌드시 ..

    AWS - EC2, Elastic Beanstalk, Fargate, ECR, Lambda, ECS

    AWS EC2 (Cloud Compute Cloud) AWS 에서 제공하는 가장 기본적인 형태의 클라우드 컴퓨팅 서비스 (= 클라우드 컴퓨터 한 대) AWS EC2 인스턴스를 생성한다는 것은 AMI(이미지 )를 토대로 운영체제 , CPU, RAM 으로 구성된 컴퓨터를 빌리는 것이다. 인스턴스 유형 : 인스턴스를 위한 CPU, 메모리, 스토리지 , 네트워킹 용량의 여러가지 구성 제공 auto scaling 지원 : 오토스케일링이란 CPU, 메모리, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링해 서버 사이즈를 자동으로 조절하는 서비스를 말한다. ec2는 갑자기 트래픽이 몰리면 자동으로 인스턴스를 자동으로 스케일링 기능을 제공한다. 탄력적 IP 주소 (Elastice Ip address) : ..

    AWS - VPC, NAT,ELB, S3, CloudFront

    AWS (Amazon Web Services) 아마존에서 개발한 클라우트 컴퓨팅 시스템 on - premise : 기업 자체적으로 버유한 전산실 서버에 직접 설치해 운영하는 방식 cloud computing : 인터넷을 통해 데이터를 저장하거나 , 데이터베이스, 서버 , 네트워킹, 소프트웨어 같은 도구 , 어플리케이션 등 다양한 서비스를 제공하는 방식. 이 방식을 사용함으로써 관리 비용을 줄일 수있다. AWS VPC (Virtual Private Cloud) 가상 네트워크 서비스와 퍼블릭 네트워크와 프라이빗 네트워크를 분리하고 모니터링을 할 수 있도록 해주는 서비스 즉, 독립된 가상의 네트워크 서비스 이다. 네트워크 구성과 관련된 사실상 모든 기능을 담당한다. 그림을 보면 ,인터넷 게이트웨이(입구)를 통..

    경로탐색 DFS - 인접행렬, 인접리스트로 풀기

    문제 방향 그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프로그램을 작성하시오. 1번 정점에서 5번 정점으로 가는 가지 수는 1 2 3 4 5 1 2 5 1 3 4 2 5 1 3 4 5 1 4 2 5 1 4 5 총 6가지입니다. 입력예제 5 9 1 2 1 3 1 4 2 1 2 3 2 5 3 4 4 2 4 5 출력예제 6 먼저 모든 경로의 가지수를 구해야하므로 DFS로 풀어야한다. 첫번째로 인접행렬로 풀었을때는 DFS + 인접행렬 인접행렬이란 N X N의 행렬을 말한다. public class RouteSearch { //7-12. 그래프 경로 탐색(인접 행렬) DFS //방향 그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프로그램..

    DFS와 BFS 와 이진트리순회

    먼저 그래프 탐색(Graph Search)이란 하나의 정점으로부터 시작해 차례대로 모든 정점을 방문한다.예시로는 도로망에서 특정 도시에서 다른 도시로갈 수 있는지 여부, 전자회로에서 특정 단자와 다른 단자가 서로 연결되어 있는지 여부가 있다.대표적은 그래프 탐색 알고리즘에는 DFS/BFS가 있다. DFS(Depth-First Search, 깊이 우선 탐색)트리나 그래프에서 한 루프로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 확인한 뒤, 다시 돌아가 다른 루트로 탐색하는 방식이다.대표적으로 백트래킹에 사용된다.일반적으로 재귀 호출을 사용해 구현하지만, 단순하게 스택 배열로 구현할 수도 있다. (참고로 트리는 특정 조건을 만족하는 그래프이다. 즉 트리는 그래프이지만, 그래프는 트리가 아님!) DFS..

    도커(docker) - 가상화(VM)과 컨테이너(Container)

    도커 컨테이너 기반 가상화 도구 어플리케이션을 컨테이너 단위로 격리하려 실행하고 배포하는 기술 가상화 기술 (Virtual Macine) 하나의 물리적인 컴퓨터 자원 (하드웨어)을 가상적으로 분할해 여러 개의 가상 컴퓨터 환경을 만들어 내는 기술을 말한다. 고성능 서버를 더 안정적으로 효율적으로 사용하기 위해 등장했다. 하이퍼바이저(Hypervisor) 가상 머신을 생성하고 구동하는 소프트웨어이며 OS에 자원을 할당 및 조율한다. 호스트 OS 위에서 VM을 가상화 시켜주는 하이퍼바이저가 존재하며, 이 하이퍼바이저를 사용해 원하는 운영체제로 게스트 OS를 올려 여러가지 VM을 만들 수 있다. 하지만 이렇게 게스트 OS를 가상화하여 사용하는 방식은 각각의 독립적인 OS를 실행시켜야 하기 때문에 부팅 시간이 ..