[Docker] 컨테이너 CLI에서 관리하기
·
DevOps🚚/Docker
컨테이너 내부 측정df -h/var 폴더 내에 '이미지'라는 특정 OS와 특정 프로그램이 패키징된 스냅샷을 찍어둔 후, 해당 스냅샷을 활용해 프로세스를 띄우는 방식으로 진행한다.** layer **각각의 구성요소를 조합하여 최종적인 결과 이미지를 구성하는 형식Read Only 레이어컨테이너 레이어 (Read, Write도 가능)이렇게 이미지를 이용하여 띄운 컨테이너는 컨테이너 내부에서의 ls와 완전히 같은 파일이 존재함모니터링 이미지 및 컨테이너로 상태 감시하기log$ while true; do curl node서버주소; sleep 초단위; done$ docker logs -f 컨테이너명$ docker info | grep -i log$ sudo ls -l /var/lib/docker/container..
[Docker] HAproxy
·
DevOps🚚/Docker
HAproxy하드웨어 기반인 LA/L7 스위치를 대체하기 위한 프록시 솔루션TCP 및 http 기반으로 제공을 하며 SSL 지원, 로드밸런싱, 액티브 헬스체크, keep alived 등의 기능을 한다L4 (전송계층) 스위치를 대체하는 경우 IP를 통한 트래픽 전달을 수행한다.요청에 대한 처리는 라운드로빈 (round-robin) 방식을 기본으로 한다L7 (응용계층) 스위치를 대체하는 경우 URI를 통한 트래픽 전달이 가능하다Http 방식실습네트워크 생성 : 네트워크 기반으로 돌아가야하기 때문에$ docker network create haproxy-networkchadchae1009/haproxy:echo 설치$ docker run -d --name=web1 --net=haproxy-network -h ..
[Docker] 레지스트리 구축
·
DevOps🚚/Docker
Private registry 구축의 필요성기업 내부 프로젝트용 이미지는 public에 올리지 않으므로.도커 허브 서버에서 유료로 이용할 수 있으나 도커허브에 공개된 registry 라는 공식 이미지를 이용하여 구축한다registry 구축registry 이미지를 pull로 받아오기$ docker pull registry볼륨 설정하기VOLUME호스트의 저장폴더와 컨테이너의 저장폴더를 동기화 시키는 것.$ docker run -d -v /유저명/registry_data:/var/lib/registry -p 5000:5000 --restart=always --name=private-registry registry호스트의 /home/유저명/registry_data 폴더에 있는 파일을 즉시 컨테이너의 /var/l..
[Docker] play with docker 실습
·
DevOps🚚/Docker
도커 이미지 (Docker Image)도커 컨테이너를 생성하기 위한 바이너리 파일도커 컨테이너도커 컨테이너란 도커 이미지를 통해 실행되는 하나의 프로세스원본 저장소에 있는 Docker File로부터 Docker Image를 내려받고 해당 이미지를 실행하여 여러 개의 컨테이너가 실행되는 구조도커 이미지와 도커 컨테이너는 1:N 구조도커 이미지는 읽기 전용으로, 도커 컨테이너에서 수정이 일어나도 원본 이미지에는 영향 XOS 상에서 프로그램과 프로세스 관계와 비슷도커 이미지 이름 구성저장소 이름 (Repository name)이미지 이름 (Image name)이미지 태그 (Image tag) -버전 정보나 릴리즈 태그 정보ex.OracleRepo/mysql-sever:8.0.13: OracleRepo 저장소에..
[Docker] 도커의 이해
·
DevOps🚚/Docker
Docker2013.03 Pycon에서 Docker의 창시자인 솔로몬 하익스가 처음으로 소개를 했다.여러 계층의 어플리케이션을 컨테이너로 분리, 연결하여 실행하는 마이크로서비스 아키텍처 프로젝트에 유용애플리케이션의 인프라 (runtime)는 이미지를 통해 제공하고 public or private하게 공유 가능깃허브와 유사한 방식인 open share로 Docker Hub에서 제공Image를 기반으로 애플리케이션 서비스 제공, 이를 컨테이너화 할 수 있다.가상화(virtualization)서버, 스토리지, 네트워크, 애플리케이션 등을 가상화하여 하드웨어 리소스를 효율적으로 사용하도록 한다.기업은 효율적인 자원 활용, 자동화된 IT 관리, 빠른 재해 복구 등의 장점이 있다.물리적 하드웨어 유지 관리 대신 소..
[Docker] 컨테이너 기술
·
DevOps🚚/Docker
컨테이너 기술컨테이너애플리케이션을 언제든 실행 할 수 있도록 필요한 모든 요소를 하나의 런타임 환경으로 패키징한 논리적 공간이러한 패키징 기술을 docker에서는 Dockerfile에 적힌 스크립트를 통해 구현즉, 애플리케이션과 종속 항목을 하나로 묶어 실행하게 해주는 운영 시스템을 가상화한 경량의 격리된 프로세스인 것microVM이라고도 부름OS 수준의 가상화 제공독립성을 갖기 때문에 다른 컨테이너에 영향을 주지 않는 stateless 환경 제공개인 데탑 뿐만 아니라, 기업 내의 온프레미스 서버, AWS와 같은 퍼블릭 클라우드에서도 언제 어디서든 빠르고 효율적으로 배포 가능하다 (확장성)서버구성, OS 설치, 네트워크, 개발 도구 구성 등의 반복적이고 불편한 작업에 대한 시간 낭비를 줄인다.컨테이너는 ..
[Linux] 셸 스크립트 작성하기
·
Programing🤖/Linux
셸 스크립트리눅스에서 일련의 명령어를 반복적으로 실행할 때, 실행할 명령어를 미리 작성해두고 해당 파일을 불러와 명령을 내리는 것.셸 스크립트 종류bashsh셸 스크립트 기본 작성$ du -h ~ | tail -n 1 : 홈 디렉토리의 파일 사용량 출력-> 얘를 셸 스크립트를 사용하여 적을 것임 $ vim homesize.shvim 내에서 파일 작성 #!/bin/bash du -h ~ | tail -n 1셔뱅 : 첫 줄을 가리키는 말. #! 뒤에 오는 파일/경로를 실행 매개로 간주하고 명령을 내린다는 의미이다. 즉, 어디에서든 해당 파일을 실행해도 /bin/bash를 통해 실행한다.$ ./homesize.shPermission denied 시, chmod로 실행권한 변경source 명령어셔뱅 이외의 방법..
[Linux] 프로세스 잡 관리
·
Programing🤖/Linux
프로세스 프로그램이 실행될 때디스크에 저장된 프로그램이 커널을 통해 메모리에 올라간다메모리에 올라간 프로그램을 CPU가 실행한다프로세스메모리에 올라가서 실행중인 프로그램실행중인 프로그램 (프로세스)는 각각 pid라는 고유 번호를 할당받아 관리된다프로세스 조회 $ ps : 프로세스의 목록 출력 -> pid가 변하는 것도 확인 가능하다ps 옵션x : 명령한 사용자의 프로세스 전체 출력ux : 명령한 사용자의 프로세스 자히 출력ax : 모든 사용자의 프로세스 출력aux : 모든 사용자의 프로세스 자세히 출력auxww : aux 옵션 출력 결과가 화면에 잘리지 않도록 출력페이지별 출력$ ps ux | less : 현재 사용자의 프로세스를 페이지 별 출력메모리 구조top : 메모리 사용량 출력잡프로세스는 커널 입..
[Linux] 텍스트 에디터
·
Programing🤖/Linux
텍스트 파일 vs 바이너리 파일텍스트파일텍스트가 저장된 파일메모, 코드, html 문서cat 명령어 조회 가능** 바이너리파일 **이진 파일기계어로 쓰여진 파일cat 명령어 조회 불가능vim 에디터$ apt-get install vim : vim 설치$ vim --version : vim 버전 확인$ vim : 실행입력모드 vs 조회모드조회모드 -> 입력모드 : i (a도 가능)입력모드 -> 조회모드 : esc:q : 종료:q! : 강제종료vim 명령어$ vim 파일명 : 파일 열기:w : 파일 저장:wq : 파일 저장 및 종료$ man cat > cat.txt : cat의 메뉴얼을 cat.txt 에 저장한 문서를 작업폴더에 만들어준다조회모드에서의 명령어상 하 좌 우 커서이동 : k j h l문자 ..
[Linux] 파일 시스템
·
Programing🤖/Linux
리눅스 파일의 의미리눅스는 폴더 또한 파일로 분류한다디렉터리 구조모든 폴더의 최초에는 루트폴더(/)가 존재하는 형태이다대표적인 디렉터리의 역할/bin대부분의 명령어 실행파일이 있는 곳시스템과 관련된 중요한 명령어들이 저장됨/dev디바이스(장치) 파일이 있는 곳디스크, 키보드, 마우스 등의 하드웨어를 제어할 수 있도록 돕는 특수 파일들이 저장됨/etc리눅스에서 사용하는 대부분의 설정파일이 있는 곳애플리케이션 및 리눅스 자체 설정 파일들이 저장됨/home각 사용자 계정명으로 생성되는 디렉터리해당 사용자의 개인적 파일이 저장됨/sbin/tmp/usr/var절대경로모든 경로를 다 말하는 것상대경로현재 위치 기준으로 경로를 나타내는 것파일의 위치가 옮겨지거나 명령을 내리는 지점이 옮겨지는 경우, 상대경로의 해석이..
nayeo2
I♡NY