DevOps

DevOps/Docker

[도커]도커에서 레디스 사용하기

뉴스를 돌아다니다가 Redis가 나와서 머리를 싸맸다. '분명 어디선가 들어본 적 있는 것 같은데...'하고 고민하다가 깨달았다. 가장 최근으로는 두 달 쯤 전에 2021년 4월 DBMS 인기 순위라는 글을 작성하면서도 봤고, 학부 데이터베이스 강의를 들을 때 인메모리 데이터베이스로 몇 번 언급 됐다. Redis(레디스)는 Remote Dictionary Server의 약자로, "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 4월에도 Key-Value Database 중에서 1위였는데, 이번 달도 마찬가지로 1위다. 레디스를 언제 사용하면 좋은지는 이 브런치 글에 잘 정리되어 있다. 레디스(Redis)는 언제 어떻게 사용하는 게..

DevOps/Docker

[도커]docker image rm vs docker rmi

메뉴얼(링크)에 따르면 docker rmi 는 docker image rm 의 alias로 동일한 커맨드다.

DevOps/Docker

[도커]헷갈리는 기본 명령어(create, start, run, stop, rm)

도커 컨테이너 생명주기 (1) docker stop vs docker kill [docker stop → SIGTERM → SIGKILL → main process] docker stop은 sigterm을 사용해서 리소스 해제, 상태 저장 등 시스템 종료를 위해 프로세스가 정리하는 시간을 준 후 sigkill 을 사용해서 컨테이너를 멈춘다. [docker kill → SIGKILL → main process] docker kill은 sigterm을 사용하지 않고 즉각 컨테이너를 멈춘다. * signal(신호) 일반적으로 Unix, Unix 계열 및 기타 POSIX 호환 운영 체제에서 사용되는 제한된 형태의 프로세스 간 통신 (IPC)이다. 이벤트를 알리기 위해 프로세스 또는 동일한 프로세스 내의 특정 스..

DevOps/Docker

[도커]네트워킹

도커는 운영체제 수준 가상 소프트웨어를 활용하여 사용자가 모든 라이브러리 종속성이있는 도커 컨테이너에서 애플리케이션을 개발, 배포, 관리 및 실행할 수 있도록 지원하는 플랫폼이다. 도커 컨테이너는 애플리케이션을 실행하는 데 필요한 모든 종속성 (프레임 워크, 라이브러리 등)을 포함하는 독립 실행형 패키지다. 결국 프로세스를 분리해 독립적으로 실행될 수 있도록 하는 독립성이 도커의 본래 목적이다. 도커에서 네트워크는 도커 컨테이너에게 완전한 격리를 제공하기위해 사용된다. 도커 네트워킹의 장점은 아래와 같다. 1. They share a single operating system and maintain containers in an isolated environment. - 단일 운영 체제를 공유하고 격리된..

DevOps/Docker

[도커]데이터 관리(Bind Mount, Volume, Tmpfs Mount)

0. 데이터 관리 도커 튜토리얼(링크)에서는 간단한 ToDo 애플리케이션*의 빌드, 업데이트, 공유를 직접 해보며 도커의 컨셉을 이해한다. 튜토리얼 Part 2-4를 수행하면서 작성한 ToDo 애플리케이션을 실행할 때마다 초기화된다. 튜토리얼 Part 5인 Persisting the DB(링크)에서는 데이터를 영구적으로 저장하는 두 가지 방법(Bind Mount, Volume)을 소개한다. 이미지는 여러 개의 레이어로 이루어져 있다. 기본적으로 이미지로 컨테이너를 실행해 파일을 생성하거나 삭제하면 새로운 레이어를 만들어 내용을 저장한다. 이 내용은 컨테이너와 함께 삭제된다(⭐컨테이너의 휘발성). 컨테이너가 삭제된다고 내부의 중요한 데이터까지 삭제되면 안 되므로 사용하는 두 가지의 대표적인 방법이 Bind..

DevOps/Docker

[도커]명령어 모음

도커 사용하기 Usage: docker [OPTIONS] COMMAND 도커는 서버를 코드 형태로 정의해서 이미지를 만들고, 이미지를 사용해서 컨테이너를 실행한다. 따라서 일관성 유지와 버전 관리가 편하다. (1) 도커 이미지 🐋 도커 이미지 여러개의 레이어로 구성됨 각 레이어는 Read Only 이미지로 컨테이너를 실행해서 파일을 생성하고 삭제할 때 새로운 레이어를 만들어 내용 저장 → 컨테이너와 함께 삭제되는 런타임 데이터임 → 영구적으로 저장하려면 볼륨(Bind Mount, Volume)을 사용해야 함 디스크에 저장된 상태 프로그램을 실행하는데 필요한 설정과 소프트웨어 종속성(프로그래밍 언어 런타임 및 기타 소프트웨어 라이브러리의 특정 버전 등)을 가지고 있다. 🐋 관련 명령어 (2) 도커 컨테이너..

DevOps/Linux

[Linux]디스크 관리 下 스왑 메모리

컴퓨터, 노트북 등 전자기기를 살 때 최소 8GB RAM은 사야된다던가, 게임을 좀 하려면 16GB RAM은 사야한다는 말은 아마 흔히들 들어봤을 말이다(5년 전에는 그랬는데 요즘은 32GB는 기본으로 사는 듯 하다 ㅎㅎ.. 세월 빠르다). 위의 이미지에서 확인할 수 있는 것 처럼 보통 노트북을 살 때 성능을 중요시하면 우선 CPU, 메모리, SSD을 확인한 뒤 용도에 따라 무게를, 취향에 따라 제조사와 운영체제를 고려한다. 1) 메모리가 중요한 이유 메모리는 시스템의 성능에 중요한 역할을 한다. 왜 중요할까? 프로그램이 실행되는 과정을 생각해보면 알 수 있다. 시스템에서 프로그램은 메모리에 올라간 후에 CPU에 의해 실행된다. 저장장치인 SSD나 HDD에 아무리 많은 프로그램이 저장되어있어도 메모리에 ..

DevOps/Linux

[Linux]디스크 관리 中 파일시스템

2021.05.13 - [DevOps] - [Linux]디스크 관리 上 디스크 인식, 파티셔닝에서 fdisk, gdisk, parted를 이용해 파티션을 구성하는 방법을 다뤘다. 이제 디스크를 사용하기 위해서 파일 시스템을 생성하고 마운트 하는 과정이 남았다. * fdisk나 gdisk를 사용해서 파티셔닝을 하면 파일 시스템 생성이 필요하지만, parted를 사용하면 파일 시스템이 기본 ext2로 자동 생성된다. 즉, parted를 사용하면 파일 시스템 생성 과정이 필요없다. 1) 파일 시스템의 정의 파일 시스템이 뭐길래 생성하는 걸까? 분명 전공 수업에서 배운 적이 있는 것 같은데 '리눅스에서는 모든 것을 파일로 관리합니다.'라는 한마디만 어렴풋이 떠오른다. 일단 이 말에 의하면 '리눅스에서 저장장치를..

DevOps/Linux

[Linux]디스크 관리 上 디스크 인식, 파티셔닝

리눅스 커널은 HDD, SDD, USB, RAM, ROM 등과 같은 저장 장치를 인식할 때, 그 종류에 따라 다른 하드웨어 이름을 부여한다. 리눅스에서 새로운 디스크를 추가해 사용하기 위해서는 아래와 같은 과정을 거쳐야 한다. 1. 디스크 인식 디스크를 시스템에 연결할 때 사용하는 방식을 연결 인터페이스라고 부른다. 대표적인 연결 인터페이스 방식에는 E-IDE, SATA, SCSI, SA-SCSI가 있다. E-IDE(Enhanced-Intergrated Drive Electronics, Advanced Technology Attachment)는 현재 거의 쓰이지 않는 1990년대부터 2000년대 초반에 개인용 PC에 많이 쓰인 방식으로, 핫 플러깅을 지원하지 않아 디스크를 추가할 때 시스템을 종료한 상태..

DevOps/Linux

[Linux]리눅스 작업 스케줄링(at, crontab)

연관 글: hello-i-t.tistory.com/40 [크롤링/15] 크롤러 서버에서 운용하기(Windows/Ubuntu) 주기적으로 크롤러를 자동 실행하여 최신 데이터를 수집해야 하는 경우 다양한 옵션을 생각해볼 수 있다. 클라이언트에서 크롤러를 스케줄러에 등록해서 운용할 수도 있지만, 굳이 서버라고 명 hello-i-t.tistory.com 1. 작업 스케줄링(예약)의 종류 (1) 일회성 작업 (2) 주기적 작업 작업의 종류에 따라 스케줄링 방식이 달라진다. 한 번만 실행되면 되는 작업은 'at' 명령어를 사용하고, 주기적으로 반복되어야 하는 작업은 'crontab' 명령어를 사용한다. 일회성 작업 예약은 atd 데몬(daemon)에 의해 처리되고, 한 번 실행하고나면 작업이 삭제된다. 주기적 작업..

DevOps/Linux

[Linux]우분투에 파이참 설치하고 바로가기 만들기

1. 설치 파일 다운로드 받기 링크> www.jetbrains.com/pycharm/download/ Download PyCharm: Python IDE for Professional Developers by JetBrains Download the latest version of PyCharm for Windows, macOS or Linux. www.jetbrains.com 2. 명령어 입력 # 파일을 다운로드 위치에서 아래의 명령어 실행 # ex. cd Downloads/ sudo tar xzf pycharm-*.tar.gz -C /opt/ cd /opt/pycharm-*/bin sh pycharm.sh 3. 바로가기 만들기 매번 /opt/pycharm-*/bin 디렉토리로 이동해서 파이참을 실행하..

박한결
'DevOps' 카테고리의 글 목록 (2 Page)